タプルの代わりにリスト出力で Zip する 質問する

タプルの代わりにリスト出力で Zip する 質問する

2 つのリストからリストのリストを作成する最も高速かつエレガントな方法は何ですか?

私は持っている

In [1]: a=[1,2,3,4,5,6]

In [2]: b=[7,8,9,10,11,12]

In [3]: zip(a,b)
Out[3]: [(1, 7), (2, 8), (3, 9), (4, 10), (5, 11), (6, 12)]

そして私は

In [3]: some_method(a,b)
Out[3]: [[1, 7], [2, 8], [3, 9], [4, 10], [5, 11], [6, 12]]

zip の代わりに map を使用することを考えていましたが、最初の引数として指定する標準ライブラリ メソッドがあるかどうかはわかりません。

これには独自の関数を定義し、マップを使用できますが、すでに何かが実装されているかどうかが疑問です。いいえも答えです。

ベストアンサー1

2 つ以上のリストを圧縮する場合 (または 2 つだけの場合でも)、読みやすい方法は次のとおりです。

[list(a) for a in zip([1,2,3], [4,5,6], [7,8,9])]

これはリストの内包表記を使用してlistリスト内の各要素(タプル)に適用するリストに変換します。

おすすめ記事