我有一个列表,我创建了一个副本,以便在保留原始列表的同时进行一些操作。但是,当我设置copy_list
equal to时org_list
,它们变成了相同的东西,如果我改变copy_list
,它们org_list
也会改变。例如:
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
因此它们实际上是同一件事。
有没有办法制作 org_list 的独立副本而不会做一些笨拙的事情,例如:
copy_list = []
for i in org_list:
copy_list.append(i)
我这样说是因为我对其他类型的变量也有同样的问题,例如 pandas 数据框。