【发布时间】:2018-03-14 23:34:54
【问题描述】:
两个字典的值与相同键相乘的问题,我决定如下:
v1={'name1': '10', 'name2': '20'}
v2={'name1': '4', 'name2': '5'}
foo = lambda dct_1, dct_2: {key: int(dct_2[key]) * int(dct_1[key]) for key in dct_2}
foo(v1, v2)
# Out: {'name1': 40, 'name2': 100}
如何以相同的方式将两个字典的值相乘,但使用不同的键?
v1={'name1': '10', 'name2': '20'}
v2={'quantity1': '4', 'quantity2': '5'}
#OUT: {'name1':'40', 'name2': '100'}
【问题讨论】:
-
每个
dict的键名是否包含相同的数字? -
要非常小心。字典没有顺序,所以你怎么知道哪些元素要相乘。考虑改用 collections.OrderedDict。
-
嗨!我只是想出了一个例子。在这个例子中,是的。但总的来说,在这个例子中,我想强调不同的键名。感谢您的评论
标签: python python-3.x dictionary dictionary-comprehension