私はリストを持っています
a = [[1,2],[3,4],[5,6],[7,8],[9,10]]
結果
New_a = [[1,3,5,7,9],[2,4,6,8,10]]
問題を解決できるスマートな方法または python 組み込み関数はありますか?
list(zip(*a))
Out[6]: [(1, 3, 5, 7, 9), (2, 4, 6, 8, 10)]
説明: zip
2 つ以上の iterable を取り、「i 番目の要素が i 番目の iterable 引数から来る」場所でそれらをつなぎ合わせます。スター演算子は、サブリストではなく要素a
をまとめて圧縮するように解凍します。
zip
flattening operator と組み合わせて使用できます*
。
[list(t) for t in zip(*a)]
zip(*a)
(1) Python 2 を使用していて、(2) リストのリストの代わりにタプルのリストを取得してもかまわない場合は、単独で使用することもできます。