Python:为什么使用“list[:]”当“列出”时指的是同一件事?

发布于 2024-10-17 01:44:27 字数 148 浏览 1 评论 0原文

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

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

谢谢。

Consider a list >>> l=[1,2,3].

What is the benefit of using >>> l[:] when >>> l prints the same thing as former does?

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

勿忘初心 2024-10-24 01:44:27

它创建一个(浅)副本。

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

It creates a (shallow) copy.

>>> 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
洛阳烟雨空心柳 2024-10-24 01:44:27

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

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

l[:] is called slice notation. It can be used to extract only some of the elements in the list, but in this case the bounds are omitted so the entire list is returned, but because of the slice, this will actually be a reference to a different list than l that contains the same elements. This technique is often used to make shallow copies or clones.

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文