gpt4 book ai didi

python - 计算元素在python列表中连续出现n次的次数

转载 作者:行者123 更新时间:2023-12-04 07:41:27 38 4
gpt4 key购买 nike

我正在尝试解决以下问题:
我有一条 python list具有多个不同的元素,并且每个元素都可以重复:

list =  ['a', 'a', 'b', 'a', 'foo','foo','foo', 'c','foo', 'd', 'foo','foo']
我想知道某个元素有多少次,例如 foo连续出现n次, 没有 数第一次出现。因此,计数 list将如下:
list =  ['a', 'a', 'b', 'a', 'foo','foo','foo', 'c','foo', 'd', 'foo','foo']
+0, +0 , +0 , +0 ,+0 , +1 , +1 , +0 , +0 , +0 , +0 , +1 = 3
所需的输出是 3在这种情况下。
有什么干净的方法可以做到吗?
我看到了 this ,但这是针对特定次数的出现。在我的情况下,连续出现的次数不是预先确定的。我想我也不能用 this other出于同样的原因。

最佳答案

通过 groupby

from itertools import groupby
l = ['a', 'a', 'b', 'a', 'foo', 'foo', 'foo', 'c', 'foo', 'd', 'foo', 'foo']


result = sum(len(list(key))-1 for grp, key in groupby(l)
if grp == 'foo') # prints 3

关于python - 计算元素在python列表中连续出现n次的次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67434595/

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