Python:如何去掉每个子列表的第二个元素?

Python:如何去掉每个子列表的第二个元素?,python,Python,我有一个子列表,例如: [501,4]、[501,4]、[501,4]、[501,4]、[501,4]] 如何删除每个子列表的第二个元素?(即第4条) [501501501501] 我应该迭代列表还是有更快的方法? 谢谢您可以使用列表理解来获取每个子列表的第一个元素: xs = [[501, 4], [501, 4], [501, 4], [501, 4]] [x[0] for x in xs] # [501, 501, 501, 501] 使用map的一个不太pythonic的功能性版本:

我有一个子列表,例如:

[501,4]、[501,4]、[501,4]、[501,4]、[501,4]]

如何删除每个子列表的第二个元素?(即第4条)

[501501501501]

我应该迭代列表还是有更快的方法?
谢谢

您可以使用列表理解来获取每个子列表的第一个元素:

xs = [[501, 4], [501, 4], [501, 4], [501, 4]]
[x[0] for x in xs]
# [501, 501, 501, 501]

使用
map
的一个不太pythonic的功能性版本:

a = [[501, 4], [501, 4], [501, 4], [501, 4]]
map(lambda x: x[0], a)

少一些pythonic,因为它不使用列表理解。请看。

我删除了我的评论,因为维基百科不同意我关于列表理解的第一语言是什么,但你误解了我:我的观点是,使用列表理解与使用
map
filter
@sepp2k一样有效。我也删除了我的评论。我同意你的看法。我想这对人们来说是一个很好的补充答案。
a = [[501, 4], [501, 4], [501, 4], [501, 4]]
map(lambda x: x[0], a)