python - 如果大小不同,如何减去字典的值并打印负值
问题描述
我正在使用这个字典理解 dict2={key:a[key]-b.get(key,0) for key in a} 但没有得到想要的输出
a={'x'=3,'y'=4}
b={'x'=1,'y'=2,'z'=3}
c=a-b
desired output={'x'=2,'y'=2,'z'=-3}
解决方案
a = {'x': 3, 'y': 4}
a.setdefault('z', 0)
b = {'x': 1, 'y': 2, 'z': 3}
desired_output = {k1: v1 - v2 for k1, v1 in a.items() for k2, v2 in b.items() if k1 == k2}
输出:
{'x': 2, 'y': 2, 'z': -3}
编辑:如果您不知道缺少哪些键:
for k1, v1 in b.items():
if not k1 in a.keys():
a.setdefault(k1, 0)
推荐阅读
- python - 使用 BeautifulSoup - Python 从下拉列表中提取选项值
- function - range(2,5) 和 range(2;5) 之间的区别
- python - 将空格转换为文本文件中的新行
- javascript - 使用猫鼬没有得到响应
- python - 尝试预测音频时出错:无法计算输出张量(“ctc/ExpandDims_22:0”
- python - Mysqldb:IndexError:列表索引超出范围
- bash - 如何防止bash脚本中的文件覆盖?
- c - 结构数组中的用户输入结构数组上的 Malloc
- powershell - Powershell 调用 cmd.exe 命令,如复制 /b
- angular - PrimeNG 单选按钮选择多个项目