однострочник (без использования импорта):
print(list({(x[0]): x for x in my_list}.values()))
ВЫХОД :
[['BE0974302342', 21, 19, 0, 2, 0], ['FR0000073843', 22, 20, 0, 2, 0],
['FR0000076861', 21, 18, 3, 3, 0]]
Разработка :
Идея состоит в том, чтобы сопоставить каждый первый элемент вложенного списка с самим списком как пару key-val
, так как dict не может иметь дублирующихся ключей, он будет обрабатывать это для нас:
print({x[0]: x for x in my_list})
Возвращает что-то вроде:
{'BE0974302342': ['BE0974302342', 21, 19, 0, 2, 0], 'FR0000073843': ['FR0000073843', 22, 20, 0, 2, 0], 'FR0000076861': ['FR0000076861', 21, 18, 3, 3, 0]}
Теперь у нас уже есть уникальная пара списков key-val
, получение значений из dict
даст нам уникальные вложенные списки:
print({x[0]: x for x in my_list}.values())
Что даст нам dict
из list
:
dict_values([['BE0974302342', 21, 19, 0, 2, 0], ['FR0000073843', 22, 20, 0, 2, 0], ['FR0000076861', 21, 18, 3, 3, 0]])
Мы можем преобразовать его в список сейчас:
print(list({(x[0]): x for x in my_list}.values()))
Это будетпросто получите нам необходимые уникальные списки, основанные на первом элементе внутри них:
[['BE0974302342', 21, 19, 0, 2, 0], ['FR0000073843', 22, 20, 0, 2, 0],
['FR0000076861', 21, 18, 3, 3, 0]]