免得说你想要一个Python列表的最后一个元素:是什么

之间的区别
myList[-1:][0]

myList[len(myList)-1]

我认为没有差别,但然后我想这

>>> list = [0]
>>> list[-1:][0]
0
>>> list[-1:][0] += 1
>>> list
[0]
>>> list[len(list)-1] += 1
>>> list
[1]

我有点惊讶...

有帮助吗?

解决方案

如果使用切片[-1:],返回的列表是一个浅副本,而不是参考。所以[-1:] [0]修改新名单。 [长度(列表)-1]是参照最后一个对象。

其他提示

list[-1:]创建一个新的列表。要获得相同的行为list[len(list)-1]它会返回某种list的一个观点,但正如我所说,它创建一个新的临时名单。这样就可以进行编辑的临时列表。

无论如何,你知道你可以用list[-1]同样的事情,对吧?

切片创建复制(浅拷贝)。它通常用作浅拷贝成语。

list2 = list1[:]

等同于

import copy
list2 = copy.copy(list1)
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top