2つのリストがあるとします
L1 = [1,2,3]
と
L2 = [a,b,c]
これをリストに変換する最速の方法はM = [(1,a),(2,b),(3,c)]
何ですか?
私は試しM = [(x,y) for x in L1 for y in L2]
ましたが、これは私に要素のすべての可能な組み合わせを与えます。確かに私はそれを行うためのループを書くことができますが、これを行うためのよりPython的な方法はありますか?
を使用しzip()
ます。
この関数は、タプルのリストを返します。ここで、i番目のタプルには、各引数シーケンスまたは反復可能オブジェクトからのi番目の要素が含まれています。返されるリストの長さは、最短の引数シーケンスの長さに切り捨てられます。
>> zip([1, 2, 3], ['a', 'b', 'c'])
[(1, 'a'), (2, 'b'), (3, 'c')]