我下面的程序确实找到了列表中最常见的元素:
numbers = [7, 1, 7, 9, 2, 9, 7, 3, 0]
counter = []
for num in range(10):
n = numbers.count(num)
counter.append(n)
largest = max(counter)
print(counter.index(largest))
输出为7,这是正确的。你知道吗
但是,如果我在列表中再添加9:
numbers = [7, 1, 7, 9, 2, 9, 7, 3, 0, 9]
这意味着在一个列表中有两个最常见的元素(在本例中,7和9在那里被发现了三次,如上图所示),它只打印其中一个-在本例中是7。你知道吗
有没有办法改变我的代码,使输出是正确的?你知道吗
这里有一个解决方案,适用于任何类型的数据,而不仅仅是在一个已知的范围内的正整数。你知道吗
我们使用
collections.Counter
计数,提取最大计数,即最常见数字的计数,然后列出具有相同计数的数字:相关问题 更多 >
编程相关推荐