Найти значение списка, которое встречается чаще всего

Дан список. Определить в нем наиболее встречаемое значение.

Программа ниже ищет только одно значение. Если в списке два значения встречаются с одинаковой частотой, то будет определено только одно из них.

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