Дан список. Определить в нем наиболее встречаемое значение.
Программа ниже ищет только одно значение. Если в списке два значения встречаются с одинаковой частотой, то будет определено только одно из них.
from random import random
a = [int(random()*5) for i in range(15)]
print(a)
a_set = set(a)
most_common = None
qty_most_common = 0
for item in a_set:
qty = a.count(item)
if qty > qty_most_common:
qty_most_common = qty
most_common = item
print(most_common)
С комментариями:
from random import random
# Заполнение списка случайными числами от 0 до 4.
# Количество элементов в списке = 15.
# Для заполнения используется генератор списков.
a = [int(random()*5) for i in range(15)]
print(a)
# Список преобразуется в множество.
# В нем все элементы уникальны (не повторяются).
a_set = set(a)
most_common = None # наиболее часто встречаемое значение
qty_most_common = 0 # его количество
# в цикле перебираются элементы (item) множества
for item in a_set:
# переменной qty присваивается количество случаев
# item в списке a
qty = a.count(item)
# Если это количество больше максимального,
if qty > qty_most_common:
qty_most_common = qty # то заменяем на него максимальное,
most_common = item # запоминаем само значение
# вывод значения на экран
print(most_common)
Пример выполнения:
[1, 2, 2, 2, 1, 3, 2, 0, 2, 1, 3, 2, 4, 0, 4]
2