Невозможно напрямую обновить глубокую копию dictPython

Программы на Python
Ответить
Anonymous
 Невозможно напрямую обновить глубокую копию dict

Сообщение Anonymous »

Я могу обновить глубокую копию словаря в два этапа. Но когда я пытаюсь сделать это за один шаг, он возвращает None.

Код: Выделить всё

from copy import deepcopy

d0 = {'a': 1}
d1 = deepcopy(d0)
d1.update([('b', 2)])
print(d0, d1)

d0 = {'a': 1}
d1 = deepcopy(d0).update([('b', 2)])
print(d0, d1)
Выход:

Код: Выделить всё

{'a': 1} {'a': 1, 'b': 2}
{'a': 1} None
Почему? Как это сделать?
Благодаря @tkaus теперь я знаю, что update возвращает None. Вот что я хотел бы сделать:

Код: Выделить всё

d0 = {'a': 1}
d = {
'x': deepcopy(d0).update([('b', 2)]),
'y': deepcopy(d0).update([('b', 3)]),
}
Есть идеи?

Подробнее здесь: https://stackoverflow.com/questions/798 ... t-deepcopy
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»