繁体   English   中英

切片python字典以执行操作

[英]Slicing a python dictionary to perform operations

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

 dict1 = {'A': {'val1': '5', 'val2': '1'},
          'B': {'val1': '10', 'val2': '10'},
          'C': {'val1': '15', 'val3': '100'}}

我还有另一本字典

 dict2 = {'val1': '10', 'val2': '16'}

我想从dict2中减去dict1中A的值以获得:

 dict3 = {'val1': '5', 'val2': '15'}

只需使用dict理解即可创建dict:

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

这会给你:

 {'val2': '15', 'val1': '5'}

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

如果您打算进行类似的计算,则最好将值存储为实际的整数而不是字符串。

如果我正确理解了您的问题,则应该可以:

# dict1 and dict2 have been initialized
dict3 = {}
for key in dict2:
    dict3[key] = str(int(dict2[key])-int(dict1["A"][key]))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM