Это казалось очень простым вопросом, но поиски в Google не показывали мне много, потому что я не уверен в правильности используемой здесь терминологии.
Рассмотрим следующий фрагмент списка
l1 = [5]
def change_global():
l1[:] = [1, 2, 3, 4]
if __name__ == '__main__':
change_global()
print(l1) # [1, 2, 3, 4]
Я успешно сумел назначить и изменить глобальный список с помощью записи срезов.
Я хочу что-то похожее для словаря. update
не работает, потому что я хочу отбросить любые существующие элементы в глобальном словаре. Я знаю, что могу сделать:
global_dict.clear()
global_dict.update(new_dict)
Но есть ли один вкладыш, аналогичный примеру списка?
РЕДАКТИРОВАТЬ:
После просмотра на комментарий Я попробовал следующее
d1 = {}
def change_global():
d1 = {'a': 1, 'b': 2}
Это не изменит d1, если я не использую ключевое слово global, и все же запись среза работает для примера списка. Так что это определенно означает, что обозначение среза здесь особенное.