У меня есть список, в котором я создаю копию, чтобы делать некоторые манипуляции, сохраняя при этом исходный список. Однако, когда я устанавливаю copy_list
равным org_list
, они становятся одинаковыми, и если я изменяю copy_list
, изменяется и t21. Например:
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.