python, проблема с copy и deepcopy
имеется код:
my_dict = {'alpha': [1, 2, 3], 'beta': 0.3}
b = my_dict['alpha']
b.append(my_dict['beta'])
print(my_dict)
В выводе получаю:
{'alpha': [1, 2, 3, 0.3], 'beta': 0.3}
Неожиданно 0.3 появилось в словаре. Почему- мне не понятно, скорее всего трабл с копированием во второй строке. Как исправить пока не понимаю.
Ответы (1 шт):
Автор решения: Step1709
→ Ссылка
все из за того, что вы не создаете копию, а ссылаетесь на уже существующий в памяти элемент, соответственно меняется оригинальный объект, вот вариант, где явно указывается создание копии:
my_dict = {'alpha': [1, 2, 3], 'beta': 0.3}
b = my_dict['alpha'].copy()
b.append(my_dict['beta'])
print(my_dict)