我有一个这样的列表列表:
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]]
要更改它的顺序,我将 BIFzip
与*
-operator 结合使用。这给了我一个元组列表:
>>> 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)]
但也想取回原始类型,例如list of lists。但是这个技巧zip(*list(b))
也没有list(zip(*b))
(我没想到第二个片段会)。有谁知道如何在不遍历列表的情况下到达那里!?