在向Python词典添加项目时删除冗余

时间:2011-05-11 20:24:37

标签: python

假设你有一个字典:

my_dict = {'foo' : {'bar' : {}}}

您想要进行以下分配顺序:

my_dict['foo']['bar']['first'] = 1
my_dict['foo']['bar']['second'] = 2

显然,my_dict['foo']['bar']重复的事实存在一些冗余。有没有办法阻止这种冗余?

谢谢!

3 个答案:

答案 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)])

或者还有其他选择。