2016-11-30 32 views
0

如何檢查兩個相同第一個值的元組列表?檢查兩個元組列表以獲得相同的第一個值

list1=[(1,3),(3,2),(5,-5),(7,7)] 
list2=[(1,-2),(2,2),(4,8),(5,6)] 

我想補充list1[i][1] to list2[y][1] if list1[i][0] is = list2[y][0]

這樣的例子清單將是

(1,3) and (1,-2) 
and 
(5,-5) and (5,6) 

應該加3 +的情況下( - 2)和-5 + 6

回答

0

看起來你正在試圖重新發明字典,爲什麼不使用它們呢?這將極大地提高了查找時間

dict1 = dict(list1) 
dict2 = dict(list2) 

result = {k1: v1 + dict2.get(k1, 0) for k1, v1 in dict1.iteritems()} 

但如果你真的想要去的名單:

for i, (i0, i1) in enumerate(list1): 
    for y0, y1 in list2: 
     if i0 == y0: 
      list1[i][1] += y1 
+0

得到一個錯誤類型錯誤:「元組」對象不支持項目assignmentworks 但其他的作品完美的感謝 – malaki

相關問題