迭代嵌套列表

时间:2013-02-15 04:26:09

标签: python list loops

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

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

    def name(myList):
        somework..

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

2 个答案:

答案 0 :(得分: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功能的详细信息,请查看this

答案 1 :(得分:2)

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

newList = zip(*myList)

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