Python:为什么使用“list[:]"而不是“list”?

14 投票
2 回答
686 浏览
提问于 2025-04-16 11:31

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

那么使用 >>> l[:] 有什么好处呢?因为 >>> l 打印出来的结果和前面的看起来是一样的。

谢谢。

2 个回答

12

l[:] 被称为切片表示法。它可以用来提取列表中的某些元素,但在这个例子中没有指定范围,所以返回的是整个列表。不过因为使用了切片,这实际上会返回一个不同的列表,它包含和l一样的元素。这种方法通常用来制作浅拷贝或克隆。

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

36

这会创建一个(浅)副本。

>>> 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

撰写回答