切片python字典来执行操作

Car*_*.py 0 python dictionary

新的2.7用户.我有以下字典:

 dict1 = {'A': {'val1': '5', 'val2': '1'},
          'B': {'val1': '10', 'val2': '10'},
          'C': {'val1': '15', 'val3': '100'}}
Run Code Online (Sandbox Code Playgroud)

我有另一本字典

 dict2 = {'val1': '10', 'val2': '16'}
Run Code Online (Sandbox Code Playgroud)

我想从dict2中减去dict1中A的值,得到:

 dict3 = {'val1': '5', 'val2': '15'}
Run Code Online (Sandbox Code Playgroud)

Pad*_*ham 6

只需使用词典理解来创建你的词典:

d3 = {k: str(int(v) - int(dict1["A"][k])) for k, v in dict2.items()}
print(d3)
Run Code Online (Sandbox Code Playgroud)

哪个会给你:

 {'val2': '15', 'val1': '5'}
Run Code Online (Sandbox Code Playgroud)

for k, v in dict2.items()迭代来自dict2的键/值对,然后我们从dict1的"A"字典中访问相应的值dict1["A"][k])和减去.

如果您计划进行这样的计算,您可以将值存储为实际的整数,而不是字符串.