0

我如何创建一个函数来以这种方式迭代我的列表。看起来很简单,但我卡住了......

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

    def name(myList):
        somework..

    newList = [[1,4,7]. [ 2,5,8], [3,6,9]]
4

2 回答 2

3
In [3]: zip(*myList)
Out[3]: [(1, 4, 7), (2, 5, 8), (3, 6, 9)]

如果你特别想要列表

In [4]: [list(x) for x in zip(*myList)]
Out[4]: [[1, 4, 7], [2, 5, 8], [3, 6, 9]]

有关zip功能的更多详细信息,请查看

于 2013-02-15T04:27:21.740 回答
2

zip是你想要的 + 参数解包。这很棒。我喜欢把它想象成python的内置转置。

newList = zip(*myList)

这实际上会给你一个可迭代的 (python3.x) 或list(python2.x) tuple,但这对于大多数用途来说已经足够了。

于 2013-02-15T04:27:23.627 回答