首页 > 解决方案 > 如何计算列表中一个数字的数量

问题描述

我需要知道,在 Python 中,如何计算列表中数字的数量,例如:

l = [0,1,2,5,6,5,0,0,0]

如果区域为 3:

三个数字的区域中的最大零个数是三个(最后)

(它必须这样计算:0;1;2:一个零,1;2;5 没有零,2;5;6 没有零......)

(练习的目标是在数字列表中打印由 int(input()) 确定的区域中的最高数量的零)

感谢您的帮助!

这是我的学校作业,在数学方面,我们用 Python 做练习

标签: python

解决方案


试试这个:

L = [0,1,2,5,6,5,0,0,0]
print([x.count(0) for x in zip(L,L[1:],L[2:])])

作为更通用的解决方案,对于可变值和可变区域大小,您可以使用:

def getCount(arr,val,zone):
    z = [arr[n:] for n in range(zone)]
    return [x.count(val) for x in zip(*z)]

然后,例如,您可以执行以下操作:

countArr = getCount(arr=[0,1,2,5,6,5,0,0,0],val=0,zone=3)
print(countArr)
print(max(countArr))

推荐阅读