我有一个数组 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)