我有两个清单如下
x = ['a','a','b','c','b','a']
和
x = ['a','a','b','c','c','d']
我试图找出在每个列表中出现最多的值。这就是我尝试过的。
def unique_values(output,input):
for i in input:
if i not in output:
output.append(i)
k = []
for i in k:
unique_values(k,x)
y.remove(i)
我已经走了这么远,但我想不出如何for i in k:
在删除列表中的所有值之前停止的方法。
如果要查找列表中每个元素的出现,可以使用Counter
from的模块collections
:-
>>> x = ['a','a','b','c','c','d']
>>> from collections import Counter
>>> count = Counter(x)
>>> count
Counter({'a': 2, 'c': 2, 'b': 1, 'd': 1})
>>> count.most_common()
[('a', 2), ('c', 2), ('b', 1), ('d', 1)]
因此,前两个元素在您的列表中最常见。
>>> count.most_common()[0]
('a', 2)
>>> count.most_common()[1]
('c', 2)
或者,您还传递参数来most_common()
指定所需的most-common
元素数:-
>>> count.most_common(2)
[('a', 2), ('c', 2)]
更新:-
您也可以先找出max
计数,然后再找到具有该值的元素总数,然后可以将其用作参数most_common()
:-
>>> freq_list = count.values()
>>> freq_list
[2, 2, 1, 1]
>>> max_cnt = max(freq_list)
>>> total = freq_list.count(max_cnt)
>>> most_common = count.most_common(total)
[('a', 2), ('c', 2)]
>>> [elem[0] for elem in most_common]
['a', 'c']
假设我有一个数组 查找出现次数最多的项的最有效和“pythonic”方法是什么?它在列表中出现了多少次?
问题内容: 我有一个Python列表,我想知道在此列表中计算项目出现次数的最快方法。在我的实际情况下,该项目可能会发生数万次,这就是为什么我想要一种快速的方法。 哪种方法:或更优化? 问题答案: a = [‘1’, ‘1’, ‘1’, ‘1’, ‘1’, ‘1’, ‘2’, ‘2’, ‘2’, ‘2’, ‘7’, ‘7’, ‘7’, ‘10’, ‘10’] print a.count(“1”) 它
问题 怎样找出一个序列中出现次数最多的元素呢? 解决方案 collections.Counter 类就是专门为这类问题而设计的, 它甚至有一个有用的 most_common() 方法直接给了你答案。 为了演示,先假设你有一个单词列表并且想找出哪个单词出现频率最高。你可以这样做: words = [ 'look', 'into', 'my', 'eyes', 'look', 'into',
下面的表记录了交易的卖家和买家的ID,我想确定参与交易次数最多的用户以及该用户参与的交易次数。 所需输出如下: 因为用户2总共有3笔交易(1笔作为卖方,2笔作为买方),用户4也有3笔交易(2笔作为卖方,1笔作为买方)。可以假设一个用户不可能是同一交易中的买方和卖方,并且每个买方-卖方组合不是重复的。 什么SQL查询会让我得到这个?我在网上找不到任何类似的问题。提前道谢!
有没有办法将列表中出现次数最多的元素的列表输出到列表中,或者如果存在平局,则将所有出现次数最多的元素输出到列表中? 我想在不导入任何类的情况下解决此问题! 例如,[5,4,3] 将输出 [5,4,3]。 或者 [5,4,4,5]将输出[5,4] 我试过,最大(设置(列表),键=列表.计数),但并不适用于领带。 我迄今为止的工作:
问题内容: 我正在寻找一种确定JavaScript数组中哪个元素的出现次数最多的优雅方法(mode)。 例如,在 该元素是最常见的元素。 问题答案: 这只是模式。这是一个 快速的,未优化的 解决方案。它应该是O(n)。