我想在字典中添加现有键值对的键, 下面的代码是在字典中为键值对添加键的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}
由于
答案 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键是不可变的,所以你不能真正修改它们本身。你可以添加所有新密钥并删除旧密钥,但这不如你现在所做的那样只创建一个新的字典。