微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

允许使用 Python 字典除以零

如何解决允许使用 Python 字典除以零

我有两个包含大致相同键的 Python 字典,我正在尝试将每个键对的值相乘。一本字典稍大(由于包含我想忽略的其他键)。我遇到的问题是,在某些情况下分母中的零导致 ZeroDivisionError: division by zero - 因此我的问题是,我如何修改我的脚本以便我执行除法,接受分母中的零时结果会是“0”吗?

dict1 = {'A':1,'B':1,'C':2,'D':0}

dict2 = {'A':2,'B':2,'C':4,'D':0,'E':5}

myfunc = {k : v / dict2[k] for k,v in dict1.items() if k in dict2}

解决方法

myfunc = {k : (v / dict2[k] if dict2[k] else 0) for k,v in dict1.items() if k in dict2}
,

试试下面的方法(这个想法是在我们除法之前确保分母不为零)

dict1 = {'A': 1,'B': 1,'C': 2,'D': 0}
dict2 = {'A': 2,'B': 2,'C': 4,'D': 0,'E': 5}
myfunc = {k: v / dict2[k] if dict2[k] else 0 for k,v in dict1.items() if k in dict2}
print(myfunc)

输出

{'A': 0.5,'B': 0.5,'C': 0.5,'D': 0}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。