Есть словарь, у которого значения - списки. Как удалить некоторые значения только из списка словаря-копии,чтобы в словаре-оригинале они не удалились?

На python. Например, если создать словарь:

a = {'1': ['1', '2', '3']}

И сделать его копию:

b = a.copy()

А потом удалить в копии какое-то значение из списка по ключу '1':

b['1'].remove('1')

то получим

print(a) # {'1': ['2', '3']}
print(b) # {'1': ['2', '3']}

А как сделать, чтобы словарь a при удалению элемента из списка в словаре b, не изменился?


Ответы (1 шт):

Автор решения: Антон
import copy

a = {'1': ['1', '2', '3']}
b = copy.deepcopy(a)

b['1'].remove('1')

print(a)  # {'1': ['1', '2', '3']}
print(b)  # {'1': ['2', '3']}
→ Ссылка