我的问题如下:
我有这个清单:[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
我想获得此列表:[2, 5, 8]
这是列表列表中每个子列表的第二个元素(index: 1
)。
我怎么能用Python做到这一点?
感谢您的时间。
答案 0 :(得分:6)
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)
或使用map
与operator.itemgetter
代替lambda
,根据以下评论:
import operator
a = map(operator.itemgetter(1), l)