如何删除列表中每个元组中的最后一个元素

时间:2010-10-23 14:25:42

标签: python list tuples

我有一个列表:

alist = [[a,b,(1,2)], [a,b,(1,2)], [a,b,(1,2)]]

我想从列表中的所有元素中删除最后一个元素。结果将是:

alist = [[a,b], [a,b], [a,b]]

有快速的方法吗?

2 个答案:

答案 0 :(得分:10)

您可以使用list comprehension创建一个删除最后一个元素的新列表。

>>> alist = [[1,2,(3,4)],[5,6,(7,8)],[9,10,(11,12)]]
>>> [x[:-1] for x in alist]       # <-------------
[[1, 2], [5, 6], [9, 10]]

但是,如果您想要提高效率,可以就地修改列表:

>>> alist = [[1,2,(3,4)],[5,6,(7,8)],[9,10,(11,12)]]
>>> for x in alist: del x[-1]       # <-------------
... 
>>> alist
[[1, 2], [5, 6], [9, 10]]

答案 1 :(得分:-1)

这是Python的基本内容。阅读Python教程后,你应该能够做到这一点

>>> alist = [[1,2,(3,4)],[5,6,(7,8)],[9,10,(11,12)]]
>>> for li in alist:
...     print li[0:2]
...
[1, 2]
[5, 6]
[9, 10]
>>>

稍后,您可以转到列表理解等中间内容