3

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的な方法はありますか?

4

1 に答える 1

8

を使用しzip()ます。

この関数は、タプルのリストを返します。ここで、i番目のタプルには、各引数シーケンスまたは反復可能オブジェクトからのi番目の要素が含まれています。返されるリストの長さは、最短の引数シーケンスの長さに切り捨てられます。

>> zip([1, 2, 3], ['a', 'b', 'c'])
[(1, 'a'), (2, 'b'), (3, 'c')]
于 2012-09-16T14:05:15.957 に答える