Найдите наиболее часто встречающееся число в векторе - PullRequest
96 голосов
/ 06 июня 2011

Предположим, у меня есть следующий список в Python:

a = [1,2,3,1,2,1,1,1,3,2,2,1]

Как найти наиболее частое число в этом списке аккуратно?

Ответы [ 11 ]

0 голосов
/ 06 января 2013

Я недавно делаю проект и использую коллекции. Счетчик (который меня мучил).

Счетчик в коллекциях, по моему мнению, очень и очень плохо работает. Это просто dict для переноса классов.

Что еще хуже. Если вы используете cProfile для профилирования его метода, вы должны увидеть, как много «__missing__» и «__instancecheck__» пропадают все время.

Будьте осторожны, используя его most_common (), потому что каждый раз он вызывает сортировку, что делает его чрезвычайно медленным. и если вы используете most_common (x), он вызовет сортировку кучи, что также медленно.

Кстати, bincount numpy также имеет проблему: если вы используете np.bincount ([1,2,4000000]), вы получите массив с 4000000 элементами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...