У меня есть подсписки, заполненные их собственными подсписками. Если под-подсписки имеют общее значение в индексе 1, то я хотел бы объединить два подсписка в один, объединив/объединив элементы в под-подсписках, чтобы создать один под-подсписок.
l = [[
['Sublist1','AAA','10','Apple,Pear,Banana'],
['Sublist1','AAA','50','Peach,Orange,Banana'],
['Sublist1','DDD','3','Bike,Street']
],[
['Sublist2','CCC','50','Tomator,Lemmon'],
['Sublist2','EEE','30','Phone,Sign'],
['Sublist2','CCC','90','Strawberry'],
['Sublist2','FFF','30','Phone,Sign']
],[
['Sublist3','BBB','100','Tomator,Lemmon'],
['Sublist3','BBB','100','Pear'],
['Sublist3','FFF','90','Strawberry'],
['Sublist3','FFF','50','']
]]
Например, если вложенные подсписки имеют одинаковый AAA в индексе 1, объедините элементы в индексах 2 и 3. В этом случае 10 и 50 станут «10, 50», а «Яблоко, груша, банан» и «Персик, Апельсин, банан» станет «яблоком, грушей, бананом, персиком, апельсином, бананом».
Desired_Result = [[
['Sublist1','AAA','10,50','Apple,Pear,Banana,Peach,Orange'],
['Sublist1','DDD','3','Bike,Street']
],[
['Sublist2','CCC','50,90','Tomator,Lemmon,Strawberry'],
['Sublist2','EEE','30','Phone,Sign'],
['Sublist2','FFF','30','Phone,Sign']
],[
['Sublist3','BBB','100,100','Tomator,Lemmon,Pear'],
['Sublist3','FFF','90,50','Strawberry']
]]
set
s, а затем использовать.intersection()
, чтобы увидеть, чем они делятся. в общем. Но наборы уберут порядок. - person 2rs2ts   schedule 06.02.2014['FFF','30','Phone,Sign']
отсутствует'Sublist2
намеренно? - person Ricardo Cárdenes   schedule 06.02.2014