次のようなリストのリストがあります。
a = d[:3]
>>> a
[[90, 26.7328829998, 131075.449348, 473898.809493],
[90, 78.2985549184, 131116.812991,473929.491012],
[90, 132.4760969, 131157.881628, 473964.821961]]
順序を変更するには、BIFを-operatorzip
と組み合わせて使用します。*
これはタプルのリストを取得します:
>>> b =zip(*a)
>>> b
[(90, 90, 90),
(26.7328829998, 78.2985549184, 132.4760969),
(131075.449348, 131116.812991, 131157.881628),
(473898.809493, 473929.491012, 473964.821961)]
次のように、アイテムの元の順序を復元したいだけではありません。
>>> c = zip(*b)
>>> c
[(90, 26.7328829998, 131075.449348, 473898.809493),
(90, 78.2985549184, 131116.812991, 473929.491012),
(90, 132.4760969, 131157.881628, 473964.821961)]
リストのリストなど、元のタイプを取得したい場合もあります。しかし、そのトリックzip(*list(b))
も実行しませんlist(zip(*b))
(2 番目のスニペットが実行されるとは思っていませんでした)。リストをループせずにそこにたどり着く方法を知っている人はいますか!?