例如有a=[[A,A1],[B,A2],[C,A3],[D,A4]]有另一个列表B=[[A,B1],[B,B2],[C,B3],[D,B4]]同上有很多个这样的列表C=[[A,C1],[B,C2],[C,C3],[D,C4]] D=[[A,D1],[B,D2],[C,D3],[D,D4]]我要按照每个列表第一个元素进行合并最后生成结果是TMP = [[A,A1,B1,C1,D1],[B,A2,B2,C2,D2],[C,A3,B3,C3,D3]]最好有标准库不想做a*b*c*d次循环
或者改成字典合并dic1={'A':1,'B':2,'C':3}dic2={'A':11,'B':22,'C':33}合并成一个字典dic_all={'A':[1,11],'B':[2,22],'C':[3,33]}
---------------------------------------
对不起,有一个条件忘了加了。就是列表或者字典里面的字段不一定是排序排好的,而且也不一定A表里面和B表里面值是一样的
A=[['A','A1'],['B','A2'],['C','A3'],['D','A4']]
B=[['B','B2'],['A','B1'],['D','B4'],['C','B3']]
C=[['A','C1'],['B','C2'],['D','C4']]
D=[['B','D2'],['C','D3'],['D','D4']]
>python -u "lpart.py"
[('A1', 'B1', 'C1', 'D1'), ('A2', 'B2', 'C2', 'D2'), ('A3', 'B3', 'C3', 'D3'), ('A4', 'B4', 'C4', 'D4')]
{'A': (1, 11, 111), 'C': (3, 33, 333), 'B': (2, 22, 222)}
{'A': ['A1', 'B1', 'C1'], 'C': ['A3', 'B3', 'D3'], 'B': ['A2', 'B2', 'C2', 'D2'], 'D': ['A4', 'B4', 'C4', 'D4']}
>Exit code: 0 Time: 0.048
列表第一个元素不是固定的而且顺序也不一定
追答上面代码的第三个段落就是适应"列表第一个元素不是固定的而且顺序也不一定"情况的
结果:
[['A', 'A1', 'B1', 'C1', 'D1'], ['B', 'A2', 'B2', 'C2', 'D2'], ['C', 'A3', 'B3', 'C3', 'D3'], ['D', 'A4', 'B4', 'C4', 'D4']]列表第一个元素不是固定的而且顺序也不一定