python获取数组中最多的元素

2019-08-14 16:57:54 浏览数 (2)

获取数组中数量最多的元素,也就是最频繁的那个元素,方法有很多,下面是3种最简单的:

用max函数

代码语言:javascript复制
sample = [1,2,3,3,3,4,5,5]
max(set(sample), key=sample.count)

用collections包的Counter函数

代码语言:javascript复制
from collections import Counter

sample = [1,2,3,3,3,4,5,5]
data = Counter(sample)
data.most_common(1)[0][0]
# data.most_common(1)[0][1] # 就是相应的最高频元素的频次

用statistics包的mode函数

代码语言:javascript复制
from statistics import mode

mode(sample)
代码语言:javascript复制
>>> a = [1,1,1,1,2,2,2,2,3,3,3,1,1,2,3,1,3,1,3,1,3,1,2,3,1,3]
>>> a
[1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 1, 1, 2, 3, 1, 3, 1, 3, 1, 3, 1, 2, 3, 1, 3]

>>> set(a)
{1, 2, 3}
>>> a.count(1)
11

0 人点赞