Наиболее часто встречающийся элемент в списке (кортеже)

Опубликован: 19.10.2023 109

В Python для поиска наиболее часто встречающегося элемента в списке или кортеже используется следующий трюк:

  • к списку (или кортежу) применяется функция max(iterable [, key]), у которой в качестве второго аргумента key указывается функция подсчета количества повторяющихся элементов списка.
# исходный список
list = [1, 2, 3, 4, 5, 5, 6, 6, 7, 6, 7,  7, 7, 8, 8, 9, 10]
frequent = max(list, key=list.count)
print(frequent)
7

Аналогичным способом можно найти:

  • список с наибольшей суммой элементов в списке списков, если применить в качестве ключа key функцию sum() для подсчета суммы элементов вложенных списков;
  • список с наибольшим количеством элементов в списке списков, если использовать функцию len().
# исходный список
list = [[1, 2, 3], [4, 5], [1, 3, 4, 5], [10, 20]]
# выбираем список с наибольшей суммой элементов
max(list, key=sum)
[10, 20]

# выбираем список с наибольшим количеством элементов
max(list, key=len)
[1, 3, 4, 5]

Похожие посты

Методы преобразования списка в строку и обратно

Удаление дубликатов из списка

Фильтрация элементов итератора с помощью bool-списка функции itertools.compress()

Пропуск не нужных элементов последовательности с помощью itertools.dropwhile()

Комментариев нет.