0

私はリストを持っています

a = [[1,2],[3,4],[5,6],[7,8],[9,10]]

結果

New_a = [[1,3,5,7,9],[2,4,6,8,10]]

問題を解決できるスマートな方法または python 組み込み関数はありますか?

4

3 に答える 3

7
list(zip(*a))
Out[6]: [(1, 3, 5, 7, 9), (2, 4, 6, 8, 10)]

説明: zip2 つ以上の iterable を取り、「i 番目の要素が i 番目の iterable 引数から来る」場所でそれらをつなぎ合わせます。スター演算子は、サブリストではなく要素aをまとめて圧縮するように解凍します。

于 2013-11-01T02:06:06.753 に答える
2

zipflattening operator と組み合わせて使用​​できます*

[list(t) for t in zip(*a)]

zip(*a)(1) Python 2 を使用していて、(2) リストのリストの代わりにタプルのリストを取得してもかまわない場合は、単独で使用することもできます。

于 2013-11-01T02:12:06.410 に答える