我有一个列表:
alist = [[a,b,(1,2)], [a,b,(1,2)], [a,b,(1,2)]]
我想从列表中的所有元素中删除最后一个元素。结果将是:
alist = [[a,b], [a,b], [a,b]]
有快速的方法吗?
答案 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]
>>>
稍后,您可以转到列表理解等中间内容