python - 如何计算列表中一个数字的数量
问题描述
我需要知道,在 Python 中,如何计算列表中数字的数量,例如:
l = [0,1,2,5,6,5,0,0,0]
如果区域为 3:
三个数字的区域中的最大零个数是三个(最后)
(它必须这样计算:0;1;2:一个零,1;2;5 没有零,2;5;6 没有零......)
(练习的目标是在数字列表中打印由 int(input()) 确定的区域中的最高数量的零)
感谢您的帮助!
这是我的学校作业,在数学方面,我们用 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))
推荐阅读
- php - 从表中替换一些变量
- c - 在文件中搜索文本
- python - 自 tkinter 中最后一次按键后经过一段时间后调用函数
- c# - 如何将 CSV 数据存储到 C# 中的数组中?
- javascript - 计算日期的日期名称
- bash - 将多个字符串+标准输出连接成lolcat(在鱼中)
- c# - Windows 消息队列:如何从 C# 检查“将消息发布到进程”消息队列的 nbr
- python - 使用相邻矩阵的 DFS 失败
- python - Python matplotlib 未针对所有 3 个可用选项进行绘图
- android - Kotlin for Android - Kotlin 编程