小编Har*_*dKo的帖子

快速查找数组中重复元素的长度和起始索引的方法

我有一个数组 A:

import numpy as np
A = np.array( [0, 0, 1, 1, 1, 0, 1, 1, 0 ,0, 1, 0] )
Run Code Online (Sandbox Code Playgroud)

连续“1”的长度为:

output: [3, 2, 1]
Run Code Online (Sandbox Code Playgroud)

具有相应的起始索引:

idx = [2, 6, 10]
Run Code Online (Sandbox Code Playgroud)

原始数组很大,我更喜欢使用较少 for 循环的解决方案。

编辑(运行时):

import numpy as np
import time

A = np.array( [0, 0, 1, 1, 1, 0, 1, 1, 0 ,0, 1, 0] )

def LoopVersion(A):
    l_A = len(A)
    size = []
    idx = []
    temp_idx = []
    temp_size = []
    for i in range(l_A): …
Run Code Online (Sandbox Code Playgroud)

python numpy

11
推荐指数
2
解决办法
232
查看次数

标签 统计

numpy ×1

python ×1