2つのリストがあります。
x = ['1', '2', '3']
y = ['a', 'b', 'c']
次のように、これらのリストからタプルのリストを作成する必要があります。
z = [('1','a'), ('2','b'), ('3','c')]
私はこのようにしてみました:
z = [ (a,b) for a in x for b in y ]
しかし、結果は:
[('1', '1'), ('1', '2'), ('1', '3'), ('2', '1'), ('2', '2'), ('2', '3'), ('3', '1'), ('3', '2'), ('3', '3')]
すなわち、xのすべての要素とyのすべての要素のタプルのリスト...私がやりたいことを行うための正しいアプローチは何ですか?ありがとうございました...
編集:編集の前に言及された他の2つの重複は私のせいであり、誤って別のforループでインデントしました...
Zip builtin 関数を探しています。ドキュメントから:
>>> x = [1, 2, 3]
>>> y = [4, 5, 6]
>>> zipped = Zip(x, y)
>>> zipped
[(1, 4), (2, 5), (3, 6)]
あなたはジップ機能の後です。
質問から直接取得: リストをPythonのタプルのリストにマージする方法?
>>> list_a = [1, 2, 3, 4]
>>> list_b = [5, 6, 7, 8]
>>> Zip(list_a,list_b)
[(1, 5), (2, 6), (3, 7), (4, 8)]