gpt4 book ai didi

python连续出现的长度

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

这可能真的很容易做到,但我希望计算 python 列表中连续出现的正数的长度。例如,我有 a,我希望返回 b:

a=[0,0,1,1,1,1,0,0,1,0,1,1,1,0]

b=[0,0,4,4,4,4,0,0,1,0,3,3,3,0]

我在 Counting consecutive positive value in Python array 上注意到一个类似的问题但这只会返回连续计数,但不会返回所属组的长度。

谢谢

最佳答案

这类似于 run length encoding问题,所以我从 Rosetta 代码页中借鉴了一些想法:

import itertools
a=[0,0,1,1,1,1,0,0,1,0,1,1,1,0]

b = []
for item, group in itertools.groupby(a):
size = len(list(group))
for i in range(size):
if item == 0:
b.append(0)
else:
b.append(size)

b
Out[8]: [0, 0, 4, 4, 4, 4, 0, 0, 1, 0, 3, 3, 3, 0]

关于python连续出现的长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30449763/

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