如何获取列表列表

时间:2012-04-12 22:07:19

标签: python

所以我有一个像这样的列表列表:

 mult_list = [ [1,2,3],[9,10,11].....[..,..,..]]

我想要的东西可以归还我3个列表

where list_1 = [1,9...1st ele of each list]
      list_2 = [2,10... 2nd ele ]
     ..nth_list = [nth element of each_list]

所以,这是例如缘故.. mul_list在列表中可以有任意数量的固定列。在我们的例子中,num列是3。

所以你可以把它想象成一个矩阵......我希望在第一个列表中将所有元素放在同一列中。 什么是pythonic方法呢? 感谢

4 个答案:

答案 0 :(得分:3)

试试这个:

>>> zip(*mult_list)

答案 1 :(得分:2)

zip会以元组列表的形式为您提供答案。如果您想要列表,请执行

map(lambda *row: list(row), *mult_list)

编辑:更紧凑,

map(list,zip(*mult_list))

答案 2 :(得分:1)

内置函数zip正是这样做的:

>>> zip([1,2,3,4,5],[6,7,8,9,10])
[(1, 6), (2, 7), (3, 8), (4, 9), (5, 10)]

答案 3 :(得分:1)

你可以使用zip(list1,list2);

mult_list = [[1,2,3],[9,10,11]]

所以,你会得到[(1,9),(2,10),(3,10)]

的结果