Я хочу добавить другое решение, которое выглядит красиво и быстро для коротких списков.
def mc(seq=L):
"max/count"
max_element = max(seq, key=seq.count)
return (max_element, seq.count(max_element))
Вы можете сравнить это с кодом, предоставленным Недом Дейли, который даст вамэти результаты для наименьшего теста:
3.5.2 (default, Nov 7 2016, 11:31:36)
[GCC 6.2.1 20160830]
dict iteritems (4, 6) 0.2069783889998289
dict items (4, 6) 0.20462976200065896
defaultdict iteritems (4, 6) 0.2095775119996688
sort groupby generator expression (4, 6) 0.4473949929997616
sort groupby list comprehension (4, 6) 0.4367636879997008
counter (4, 6) 0.3618192010007988
max/count (4, 6) 0.20328268999946886
Но будьте осторожны, это неэффективно и, таким образом, действительно медленно для больших списков!