我试图弄清楚如何通过另一个列表来运行一个列表,并且只要名字匹配,就将其追加到新列表中(如果存在)

list1 = [["Ryan","10"],["James","40"],["John","30"],["Jake","15"],["Adam","20"]]

list2 = [["Ryan","Canada"],["John","United States"],["Jake","Spain"]]


所以看起来像这样。

list3 = [["Ryan","Canada","10"],["John","United States","30"],["Jake","Spain","15"]


到目前为止,我什至还无法真正做到这一点,因此即使是最小的指导也将不胜感激。谢谢。

最佳答案

如果名称是唯一的,则可以将list1放入字典中,然后遍历list2添加该字典中的项目。

list1 = [["Ryan","10"],["James","40"],["John","30"],["Jake","15"],["Adam","20"]]
list2 = [["Ryan","Canada"],["John","United States"],["Jake","Spain"]]
list1_dict = dict(list1)
output = [item + [list1_dict[item[0]]] for item in list2]


如果不是,那么您需要决定如何处理重复名称的情况。

关于python - 匹配和追加,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29242463/

10-12 00:13
查看更多