将键添加到字典中的现有键值对

时间:2017-01-23 01:41:28

标签: python dictionary

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

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}

由于

1 个答案:

答案 0 :(得分: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()}
  

另外,我怎样才能做同样的事情,但是在同一个字典而不是新的字典?

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