1. ホーム
  2. python

[解決済み] タプルの代わりにリストで出力するZip

2022-05-14 09:24:26

質問

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を使おうかと思ったのですが、第一引数に入れる標準ライブラリのメソッドってないですかね?

私はこのための独自の関数を定義し、mapを使用することができます、私の質問は、すでに何かが実装されている場合です。 ありません。 というのも答えの一つです。

どのように解決するのですか?

2つ以上のリストをzipで圧縮している場合(あるいは2つしかない場合も)、読みやすい方法は、次のようになります。

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

これはリスト内包を使い、リストの各要素(タプル)をリストに変換しています。