python列表推导中的if-else

问题:

我有一个列表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]

但它给我一个语法错误。如何在列表理解中实现这样的ifelse

回答:

>>> 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如果<condition>,否则做其他事情。

Code问答: codewenda.com
Stackoverflow:if else in a list comprehension

发表评论

电子邮件地址不会被公开。 必填项已用*标注

− 1 = 6