首页 新闻 会员 周边 捐助

Python 中,条件表达式(即 x if condition else y)必须有 else 部分

0
[已关闭问题] 关闭于 2025-09-02 14:55

lst = map(lambda x: 2*x if x>3,[1,2,3,4,5]) 为什么报语法错误

问题补充:

注意:语句级 的 if, 表达式 的 if

在 表达式上下文中,比如 lambda列表推导式赋值语句的右侧,用的是 条件表达式,格式必须是,最后都是返回一个列表

value_if_true if condition else value_if_false

result = 2 * x if x > 3 else x  # 必须写 else

 

lambda x: 2*x if x>3 是表达式上下文,必须用 else,否则会报语法错误。

_java_python的主页 _java_python | 小虾三级 | 园豆:984
提问于:2025-09-02 14:51
< >
分享
所有回答(1)
0

语句级 if(可以没有 else):

这是完整的语句,用于控制流程,可以没有 else

if x > 3:
  print(x)

_java_python | 园豆:984 (小虾三级) | 2025-09-02 14:55
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册