使用键列表为dict添加值

时间:2016-08-11 12:47:20

标签: python python-2.7

考虑列表中包含字典的键的方案

x = {'a':{'b': 1}}
lst = ['a','c']
value = {'d': 3}

使用列表lst中的密钥可以在dict x中添加条目。

预期结果:

x = {'a': {'c': {'d': 3}, 'b': 1}}

2 个答案:

答案 0 :(得分:1)

菲利普的回答很好。

但这是我试图给你你想要的完全答案。

x = {'a':{'b' : 1}}
lst=['a','c']
value = {'d':3}

x[lst[0]][lst[1]] = value
print(x)
>> {'a': {'c': {'d': 3}, 'b': 1}}

答案 1 :(得分:0)

使用循环和临时dictionary_variable:

tmp_dict = x
for key in lst[:-1]:
    tmp_dict = tmp_dict[key]
tmp_dict[lst[-1]] = value
print x

注意,除了最后一个键之外的所有键的循环,因为我们需要最后一个键用于赋值操作。