早上好,
我有一个像这样的numpy数组:
[0, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0]
我想找到1个分开的对的数量。
三个(或更多个)连续的1也算作一对,即:在此示例中,返回的数字应为3。
实现此目的的最佳技术是什么?
非常感谢!
最佳答案
使用itertools.groupby,k
保持基于唯一键0/1的列表(下面的列表),g
保持唯一键k
的对应组迭代器
import itertools
target = 1
lst = [0,1,1,0,1,1,1,0,0,1,0,1,1,0]
pair_count = 0
for k,g in itertools.groupby(lst):
if k==target and len(list(g))>1: # match target and more than 1 count as pair
pair_count += 1
# pair_count = 3
关于python - 查找数组中分离的对数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40959446/