首页 > 后端开发 > Python教程 > 为什么对 Python 列表副本的更改会影响原始列表?

为什么对 Python 列表副本的更改会影响原始列表?

Susan Sarandon
发布: 2024-11-08 20:19:02
原创
414 人浏览过

Why Do Changes to a Python List Copy Affect the Original List?

Python:了解引用复制

在 Python 中创建列表的副本时,可能会令人惊讶地发现对复制也会影响原始列表。这是因为 Python 使用引用复制,它创建对原始列表的引用而不是单独的实例。

为了说明这一点,让我们考虑以下代码:

org_list = ['y', 'c', 'gdp', 'cap']

copy_list = org_list

copy_list.append('hum')

print(copy_list)
print(org_list)
登录后复制

此代码将输出:

['y', 'c', 'gdp', 'cap', 'hum']
['y', 'c', 'gdp', 'cap', 'hum']
登录后复制

我们可以看到,原来的列表org_list在copy_list追加操作后被修改了。这是因为 copy_list 不是一个单独的实例,而是对 org_list 的引用。

要创建原始列表的独立副本,我们可以使用切片运算符:

copy_list = org_list[:]
登录后复制

这会创建一个新列表,它是 org_list 的副本。对 copy_list 所做的更改将不再影响 org_list。这种方法还可以用于复制其他类型的变量,例如 Pandas DataFrame。

以上是为什么对 Python 列表副本的更改会影响原始列表?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板