Группируйте похожие вложенные списки в один список - PullRequest
0 голосов
/ 04 августа 2020

У меня есть вложенный список, как в примере ниже. Я хочу преобразовать этот список во что-то вроде idealresult. Первое значение каждого списка является ключом к группировке списков. Как преобразовать список?

mylist= [['a','abc'],['a','def'],['b','abcd'],['b','defg']]

idealresult = [['a','abc','def'],['b','abcd','defg']]

1 Ответ

4 голосов
/ 04 августа 2020

Одно из возможных решений:

mylist= [['a','abc'],['a','def'],['b','abcd'],['b','defg']]

idealresult = {}
for k, v in mylist:
    idealresult.setdefault(k, []).append(v)


idealresult = [[k]+v for k, v in idealresult.items()]
print(idealresult)

Печать:

[['a', 'abc', 'def'], ['b', 'abcd', 'defg']]

РЕДАКТИРОВАТЬ (благодаря предложениям C .Nivs):

mylist= [['a','abc'],['a','def'],['b','abcd'],['b','defg']]

idealresult = {}
for k, v in mylist:
    idealresult.setdefault(k, [k]).append(v)


idealresult = list(idealresult.values())
print(idealresult)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...