以免你想要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]修改新列表.[len(list)-1]是对最后一个对象的引用.
list[-1:]
创建一个新列表.要获得与list[len(list)-1]
返回某种视图相同的行为list
,但正如我所说,它会创建一个新的临时列表.然后,您继续编辑临时列表.
无论如何,你知道你可以用list[-1]
同样的东西,对吧?