Как получить только повторяющиеся элементы из списка на Python?
Приветствую! Помогите решить, всю голову сломал, не могу сообразить, как отсортировать. Имеется список: list =[["3", "10:00"], ["3", "11:00"], ["5", "10:00"], ["3", "12:00"]], а нужно сформировать: list =[["3", "10:00", "11:00","12:00"], ["5", "10:00"]]
Может не стоит таким образом группировать в список, а использовать словарь {'3': ['10:00', '11:00', '12:00'], '5': ['10:00']}
Более подходящая структура для хранения таких данных по некоторому ключу.
from collections import defaultdict
data = defaultdict(list)
for value in your_list:
data[value[0]].append(value[1])
group_data = [[key, *value] for key, value in data.items()]
По примеру вообще непонятна логика
Но вот код, который выдаст список из элементов, которые присутствуют в исходном списке items более, чем 1 раз (т.е. выдаст список повторяющихся элементов)
from collections import Counter
[k for k, v in Counter(items).items() if v > 1]