假设你有一个字典:
my_dict = {'foo' : {'bar' : {}}}
您想要进行以下分配顺序:
my_dict['foo']['bar']['first'] = 1
my_dict['foo']['bar']['second'] = 2
显然,my_dict['foo']['bar']
重复的事实存在一些冗余。有没有办法阻止这种冗余?
谢谢!
答案 0 :(得分:8)
不是真的,当然除了明显的中间变量:
foo_bar = my_dict['foo']['bar']
foo_bar['first'] = 1
foo_bar['second'] = 2
除非你这样说,否则Python应该知道你想要两次引用同一个字典吗?
答案 1 :(得分:5)
你可以这样做:
my_dict['foo']['bar'].update({'first': 1, 'second': 2})
答案 2 :(得分:3)
你可以暂时保留它:
temp = my_dict['foo']['bar']
temp['first'] = 1
temp['second'] = 1
或者您可以使用更新:
my_dict['foo']['bar'].update([('first', 1), ('second', 2)])
或者还有其他选择。