两个字典具有相同键的值相乘的问题,我决定如下:
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'}
最佳答案
假设您始终具有相应的 nameX
和 quantityX
值,您可以对键使用简单的替换:
foo = lambda dct_1, dct_2: {key: int(dct_2[key.replace('name', 'quantity')]) * int(dct_1[key]) for key in dct_1}
关于python - 将具有不同键的字典的值相乘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46550213/