Python:为什么当“list”引用相同的东西时使用“list [:]”?

时间:2011-02-09 16:37:09

标签: python slice

考虑一个列表>>> l=[1,2,3]

>>> l[:]打印与以前相同的内容时,使用>>> l有什么好处?

感谢。

2 个答案:

答案 0 :(得分:35)

它创建一个(浅)副本。

>>> l = [1,2,3]
>>> m = l[:]
>>> n = l
>>> l.append(4)
>>> m
[1, 2, 3]
>>> n
[1, 2, 3, 4]
>>> n is l
True
>>> m is l
False

答案 1 :(得分:12)

l[:]称为切片表示法。它可以用于仅提取列表中的一些元素,但在这种情况下,边界被省略,因此返回整个列表,但由于切片,这实际上是对{{1}的不同列表的引用包含相同元素的。这种技术通常用于制作浅拷贝或克隆。

http://docs.python.org/tutorial/introduction.html#lists