|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
求出100以内所有3的倍数的表达式出现了语法错误,不知道为何错误,请大佬帮忙解释一下错误原因。
>>> list(filter(lambda x: x if x%3 == 0, range(1,100)))
SyntaxError: invalid syntax
下面加上else None就不报错。
>>> list(filter(lambda x: x if x%3 == 0 else None, range(1,100)))
[3, 6, 9, 12, 15, 18, 21, 24, 27, 30, 33, 36, 39, 42, 45, 48, 51, 54, 57, 60, 63, 66, 69, 72, 75, 78, 81, 84, 87, 90, 93, 96, 99]
本帖最后由 Twilight6 于 2020-9-17 12:04 编辑
因为这个是三元运算符的语法格式,需要加上 else ,基本模板:
<符合 if 条件结果> if <条件> else <不符合 if 条件结果>
你不加 else 就会导致语法错误,我们要遵循编程语言的语法
|
|