Как получить доступ к первому элементу или номеру в счетчике, используя Python - PullRequest
1 голос
/ 17 апреля 2020

Я хочу получить доступ или выбрать первый номер в счетчике, используя Python. Итак, у меня есть этот код, который будет запускать случайное число от 1 до 10 с 100 пробами, а затем он будет подсчитывать наиболее часто встречающееся число.

from collections import Counter
from random import choice

y = []
for x in [(choice([i for i in range(1,10) if i not in [0]])) for j in range(100)]:
    y.append(x)
a = Counter(y)
b= a.most_common(1)
print(b)

Я хочу знать этот номер, поэтому мне нужно выбрать его один. Например, мой вывод:

[(2, 17)]

2 - наиболее частое число, так как я собираюсь выбрать это число из этого типа структуры. Ожидаемый результат:

2

Спасибо за помощь!

Ответы [ 2 ]

2 голосов
/ 17 апреля 2020

Вы также можете сделать:

b= a.most_common(1)[0][0]
2 голосов
/ 17 апреля 2020

Если вам нужен только самый верхний наиболее распространенный, предпочтительный способ:

a = collections.Counter(y)
most_common = max(a, key=a.get)
print(most_common)

Выход

2

Причина, по которой вместо использования most_common , указано в документации heap (внутренняя структура данных, используемая счетчиком):

Последние две функции лучше всего работают при меньших значениях п. Для больших значений более эффективно использовать функцию sorted (). Также, когда n == 1, более эффективно использовать встроенные функции min () и max (). Если требуется повторное использование этих функций, рассмотрите возможность превращения итерируемой в реальную кучу.

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