gpt4 book ai didi

python - 如何计算数组python中连续出现了多少次值?

转载 作者:太空狗 更新时间:2023-10-30 01:56:26 24 4
gpt4 key购买 nike

我有一个元素数组x=[9,2,2,2,2,3,4,4,55,55,6,2,2,2,7,0,0],我想知道一个值在这个数组中连续显示了多少次,使用python语言。预期结果应为:a=[1,4,1,2,2,1,3,1,2]

下面的代码显示了 x 中的重复数字

x=[9,2,2,2,2,3,4,4,55,55,6,2,2,2,7,0,0]
def times_so_far(ls):
out = [0]*len(ls)
for i in range(len(ls)):
out[i] = ls[:i].count(ls[i])
return out
print(times_so_far(x))

最佳答案

你可以使用itertools.groupby:

from itertools import groupby
x=[9,2,2,2,2,3,4,4,55,55,6,2,2,2,7,0,0]
out = [len([*group]) for i, group in groupby(x)]
>>> out
[1, 4, 1, 2, 2, 1, 3, 1, 2]

关于python - 如何计算数组python中连续出现了多少次值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53069148/

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