我有一个列表,如下所示:
alist = [[a,b,(1,2)], [a,b,(1,2)], [a,b,(1,2)]]
我想从列表中删除所有元素的最后一个元素。因此,结果将是:
alist = [[a,b], [a,b], [a,b]]
有没有快速的方法来做这件事?
我有一个列表,如下所示:
alist = [[a,b,(1,2)], [a,b,(1,2)], [a,b,(1,2)]]
alist = [[a,b], [a,b], [a,b]]
您可以使用列表推导式创建一个新列表,该列表移除了最后一个元素。
>>> 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]]
这是基本的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]
>>>
之后,您可以进入中级内容,如列表推导等