合并两个列表

val*_*zio 3 python merge

我在python中有两个列表:

L1=[[100, 1], [101, 2]]
L2=[[100, 3], [101, 4], [102, 5]]
Run Code Online (Sandbox Code Playgroud)

我想合并他们,所以我得到:

L_merge=[[100, 4], [101, 6], [102, 5]]
Run Code Online (Sandbox Code Playgroud)

重要的是两个列表的大小可能不同.

我试图使用字典但无法弄明白.我很高兴使用numpy,pandas或任何其他工具来获得合并.

Mos*_*oye 5

您可以collections.Counter在两个列表中使用a 并简单地将它们相加:

from collections import Counter

L1 = [[100, 1], [101, 2]]
L2 = [[100, 3], [101, 4], [102, 5]]

L_merge = (Counter(dict(L1)) + Counter(dict(L2))).items()
print(list(L_merge))
# [(100, 4), (101, 6), (102, 5)]
Run Code Online (Sandbox Code Playgroud)