如何在NumPy数组中查找连续元素组

如何在NumPy数组中查找连续元素组,第1张

如何在NumPy数组中查找连续元素组

这是一个可能有用的lil函数

def group_consecutives(vals, step=1):    """Return list of consecutive lists of numbers from vals (number list)."""    run = []    result = [run]    expect = None    for v in vals:        if (v == expect) or (expect is None): run.append(v)        else: run = [v] result.append(run)        expect = v + step    return result>>> group_consecutives(a)[[0], [47, 48, 49, 50], [97, 98, 99]]>>> group_consecutives(a, step=47)[[0, 47], [48], [49], [50, 97], [98], [99]]

PS这是纯Python。有关NumPy的解决方案,请参见unutbu的答案。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5562363.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-14
下一篇 2022-12-14

发表评论

登录后才能评论

评论列表(0条)

保存