找出出现次数最多的数字 并输出次数
题目:一维数组 都是数字 找出出现次数最多的数字 并输出次数
出现次数相同的话 输出值比较大的那个数字
例子:
strInput = [4,4,9,4,9,9,1]
counts = {}#定义一个字典为了方便储存
for i in strInput:
counts[i] = strInput.count(i)#获得所有数字对应的出现次数
resultList = sorted(list(counts.items()),key= lambda x:(x[1],x[0]),reverse=True)
#整体上的意思是将counts.items()转化为list后,
#根据list元素里的第二个元素进行从小到大排序(就是values)
#然后根据list元素里的第一个元素进行从小到大排序(就是keys)
#这样保证第一组数字就是最大的数字,也是出现次数最多的数
print(“出现次数最多而且最大的数字为”,resultList[0][0],
“出现次数最多的次数为”,resultList[0][1])
结果:
出现次数最多而且最大的数字为 9 出现次数最多的次数为 3
counts:(赋值之后)
{4: 3, 9: 3, 1: 1}
resultList :(变成列表了)
[(9, 3), (4, 3), (1, 1)]
resultList = sorted(list(counts.items()), key=lambda x: x[1],reverse=True)
#整体上的意思是将counts.items()转化为list后,
#根据list元素里的第二个元素进