从多维列表(python)的子列表中的项目列表

时间:2013-07-30 10:15:11

标签: python list multidimensional-array

我的问题如下:

我有这个清单:[[1, 2, 3], [4, 5, 6], [7, 8, 9]] 我想获得此列表:[2, 5, 8]

这是列表列表中每个子列表的第二个元素(index: 1)。 我怎么能用Python做到这一点?

感谢您的时间。

3 个答案:

答案 0 :(得分:6)

使用list comprehension

L = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
M = [y for [x, y, z] in L]

答案 1 :(得分:4)

只需使用列表理解:

In [88]: l = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]

In [89]: [x[1] for x in l]
Out[89]: [2, 5, 8]

答案 2 :(得分:2)

您可以使用list comprehension执行此操作,如下所示:

l = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
a = [x[1] for x in l]

或使用map

a = map(lambda x: x[1], l)

或使用mapoperator.itemgetter代替lambda,根据以下评论:

import operator
a = map(operator.itemgetter(1), l)