-5

我的问题如下:

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

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

感谢您的时间。

4

3 回答 3

6

使用列表理解

L = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
M = [y for [x, y, z] in L]
于 2013-07-30T10:16:57.687 回答
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]
于 2013-07-30T10:17:41.987 回答
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)

或使用mapwithoperator.itemgetter而不是lambda,根据以下评论:

import operator
a = map(operator.itemgetter(1), l)
于 2013-07-30T10:18:13.943 回答