gpt4 book ai didi

python - 如何计算Python序列中重复数字的序列?

转载 作者:行者123 更新时间:2023-11-28 22:54:49 25 4
gpt4 key购买 nike

我想统计相邻的小序列重复了多少次在给定序列中出现不为零的数字。让三个序列:

seq1 = [1, 1, 2, 2, 3, 3, 3]
seq2 = [1, 1, 0, 1, 1]
seq3 = [1, 1, 0, 0, 1, 1, 1, 2, 2, 0, 1, 1, 0, 0, 0]

序列seq1有3个小序列:[1, 1], [2, 2], and[3, 3, 3];序列 seq2 有 2 个小序列,都是 [1, 1]以0分隔;和序列 seq3,有 4 个小序列:第一个 [1, 1][1, 1, 1][2, 2],第二个 [1 , 1]

最佳答案

使用itertools.groupby:

>>> from itertools import groupby
for k,g in groupby(seq1):
if k != 0:
print list(g)
...
[1, 1]
[2, 2]
[3, 3, 3]

for k,g in groupby(seq2):
if k != 0:
print list(g)
...
[1, 1]
[1, 1]

我想你现在可以数数了。 :)

关于python - 如何计算Python序列中重复数字的序列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17597447/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com