【发布时间】:2013-06-21 12:43:01
【问题描述】:
我有以下代码:
scores = [matrix[i][i] / sum(matrix[i]) for (i, scores) in enumerate(matrix)]
我的问题是 sum(matrix[i]) 在某些情况下可能为 0,导致 ZeroDivisionError。但是因为matrix[i][i]在那种情况下也是0,所以我解决了这个问题:
scores = [divide(matrix[i][i], sum(matrix[i])) for (i, scores) in enumerate(matrix)]
如果y == 0 和(x / y) 如果y > 0,函数divide(x, y) 返回1。但我想知道是否有更简单的方法。也许我可以使用一些三元运算符,但这在 Python 中存在吗?
【问题讨论】:
标签: python list-comprehension divide-by-zero