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中文网其他相关文章!