2016-11-30 7 views
0

同じ最初の値に対して2つのタプルのリストをチェックするにはどうすればよいですか? ( - 2)及び-5 + 6同じ最初の値に対してタプルの2つのリストをチェックする

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

私はそれが3 +を追加する必要が

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

に対する場合であろう、例えばリストのlist1[i][1] to list2[y][1] if list1[i][0] is = list2[y][0]

ように追加します

答えて

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

エラー例外TypeError取得:「タプル」オブジェクトは assignmentworksアイテムをサポートしていませんが、そうでない場合は完璧に動作感謝 – malaki

関連する問題