0

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

 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

4 回答 4

3

试试这个:

>>> zip(*mult_list)
于 2012-04-12T22:09:14.407 回答
2

zip将为您提供作为元组列表的答案。如果您想要列表列表,请执行

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

编辑:更紧凑,

map(list,zip(*mult_list))
于 2012-04-12T22:12:45.087 回答
1

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

>>> zip([1,2,3,4,5],[6,7,8,9,10])
[(1, 6), (2, 7), (3, 8), (4, 9), (5, 10)]
于 2012-04-12T22:10:26.553 回答
1

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

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

因此,您将得到 [(1,9),(2,10),(3,10)] 的结果

于 2012-04-12T23:58:23.790 回答