【发布时间】:2020-01-03 20:37:13
【问题描述】:
我有一个整数列表,我需要找出哪个项目重复次数最多,然后函数应该返回两个变量(值,数字)值是重复的元素,数字是重复的次数
输入
B = [1, 5, 1, 3, 5, 1]
输出
1 3
我得到了一个适用于列表中第一项的代码,但是当它进入下一个循环时,它从零开始,所以我很难存储我在第一个循环中得到的内容并与第二个循环进行比较看看我需要保留哪一个。
对于这个功能,我不允许使用任何模块或库,如“count”或任何其他高级代码,就像新手级别一样简单
def counting(B):
n = len(B)
tempcount = []
tempcval = []
for i in range(0,n-1):
cval=B[i]
count = 0
for next in B:
if next == cval:
count += 1
tempcount.append(count)
tempcval.append(cval)
return count,cval
def main():
list = [1, 5, 1, 3, 5, 1]
a,b = counting(list)
print(a,b)
main()
预期输出
3 1
实际输出
2 5
【问题讨论】:
-
字典应该是最直接的答案,使用列表中的项目作为键和值作为计数。唯一需要注意的是记住在访问任何值之前用“in”测试密钥的存在
-
注意:您的
return语句在 for 循环内,这可能不是您想要的。
标签: python-3.x list for-loop pycharm counting