小编典典

if else 在列表理解中

all

我有一个清单l

l = [22, 13, 45, 50, 98, 69, 43, 44, 1]

对于 45 以上的数字,我想加 1;对于小于它的数字,5。

我试过了

[x+1 for x in l if x >= 45 else x+5]

但它给了我一个语法错误。我怎样才能在列表理解中达到这样的if效果?else


阅读 100

收藏
2022-03-07

共1个答案

小编典典

l = [22, 13, 45, 50, 98, 69, 43, 44, 1]
>>> [x+1 if x >= 45 else x+5 for x in l]
[27, 18, 46, 51, 99, 70, 48, 49, 6]

Do-something if <condition>, else do-something else。

2022-03-07