新的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)
只需使用词典理解来创建你的词典:
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])和减去.
如果您计划进行这样的计算,您可以将值存储为实际的整数,而不是字符串.