2017-01-23 75 views
1

我想向字典中的现有键值对添加键, 下面的代码是将键添加到字典中的键值对的Python方法?在字典中为现有键值对添加键

region = 'us-west-2' 
A = {'m3.large': -1, 'm3.xlarge': -1} 
B = {} 
for key, value in A.items(): 
    B[(key,region)] = A.get((key, region), 0) + value 
print(B) 

输出: {('m3.large', 'us-west-2'): -1, ('m3.xlarge', 'us-west-2'): -1}

此外,我该怎么做同样的事情,但在相同的字典,而不是一个新的字典?

print(A)

输出: {('m3.large', 'us-west-2'): -1, ('m3.xlarge', 'us-west-2'): -1}

感谢

+0

您是否尝试过在运行当前代码后添加'A = B'? – TigerhawkT3

回答

2
B = {} 
for key, value in A.items(): 
    B[(key,region)] = A.get((key, region), 0) + value 

这可以在一个语句中完成了一个字典理解。

B = {(key,region): A.get((key, region), 0) + value for key, value in A.items()} 

此外,我该怎么做同样的事情,但在相同的字典,而不是一个新的字典?

字典键是不可变的,所以你不能真正修改它们本身。您可以添加所有新键并删除旧键,但这不如您现在正在创建一个新的字典。