Как найти наиболее часто встречающийся список в списке — Python

#python #list #iterator

#python #Список #итератор

Вопрос:

Например, как бы вы нашли наиболее часто встречающийся список в списке списков и соответствующих подсчетов. Счетчик из коллекций, похоже, не принимает списки в качестве элементов.

 my_list = [[10, 2, 14], [1, 4, 6], [2, 3, 4], [10, 2, 14]]
# most frequent list: ([10, 2, 14], 2)
  

Комментарии:

1. для списка [[10, 2, 14], [1, 4, 6], [2, 3, 4], [2, 10, 14]] также должен быть вывод ([10, 2, 14], 2) ?

2. Нет, порядок вложенных списков был бы важен

Ответ №1:

Он не принимает изменяемые элементы, но для простых списков вы можете преобразовать его в кортежи:

 from collections import Counter

my_list = [[10, 2, 14], [1, 4, 6], [2, 3, 4], [10, 2, 14]]

Counter(tuple(i) for i in my_list).most_common()
  

конечно, вы должны преобразовать наиболее распространенный элемент обратно в список.