python - 将具有不同键的字典的值相乘

标签 python python-3.x dictionary dictionary-comprehension

两个字典具有相同键的值相乘的问题,我决定如下:

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'}

最佳答案

假设您始终具有相应的 nameXquantityX 值,您可以对键使用简单的替换:

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/

相关文章:

python - 使用 Python 从网上下载 csv 文件

python - MSYS2 上的破损 pip

python - 关于python的JSON/dict转换的问题

Python - 如果第一个元组键不在其他字典中,则从字典中删除项目

python - 如何将列字典转换为行字典?

Python动画雷达图

python - 使用 Krippendorff Alpha 的 NLTK 注释者间协议(protocol)

python - 使用通配符导入的原因是什么?

python - 简单的 ping 实现

python - 如何将每个列表项分配给不同的 pandas 数据框?