Python中处理列表零元素避免ZeroDivisionError的方法
解决列表推导式中的除零错误(ZeroDivisionError)
直接修改列表推导式,加入条件判断处理0元素即可解决问题:
km2 = [0, 2.8945617583603203e-05, 0, 2.8964584076162397e-05, 2.8807838358146397e-05, 2.884599889020239e-05, 2.8869540930559196e-05] Time = [0 if i == 0 else -1/i for i in km2] print(Time)
说明
原代码的问题在于遍历到km2中的0元素时,执行-1/i会触发ZeroDivisionError。根据预期输出,当元素为0时对应位置保留0,其他元素正常计算-1/i。通过在列表推导式中添加if-else条件分支,优先判断元素是否为0,就能避免报错并得到目标结果。
运行上述代码后,输出与预期完全一致:
[0, -34547.54410099265, 0, -34524.92179312844, -34712.77461251153, -34666.85289028602, -34638.58335694811]
内容的提问来源于stack exchange,提问作者bekarhunmain
相关产品推荐
相关产品推荐

