列表迭代是否可能有条件?

时间:2018-10-31 12:15:42

标签: python python-3.x list for-loop

我正在研究python列表,以及如何使用for语句动态生成它们。

我碰到了这个:

a = [0,1,2,3,4,5]
x = 1/sum([1/b for b in a])

但是这会导致被零除。

是否可以做类似

的操作
x = 1/sum([1/b for b in a if b != 0])

在嵌套在列表声明内的条件内吗?

1 个答案:

答案 0 :(得分:1)

您的语法[1/b for b in a if b != 0]有效。

我猜您可以除以零的另一点是sum的值为0。

result = sum([1/b for b in a if b != 0])
if result != 0:
    x = 1/result

处理result为零的情况。

相关问题