单行列表理解:if-else变体
x if y else z是您要为每个元素返回的表达式的语法。因此,您需要:
x if y else z
[ x if x%2 else x*100 for x in range(1, 10) ]
混淆是由于您在第一个示例中使用 过滤器 而在第二个示例中没有使用 过滤器 。在第二个示例中,您仅使用三元运算符表达式 将 每个值 映射 到另一个。
使用过滤器,您需要:
[ EXP for x in seq if COND ]
没有过滤器,您需要:
[ EXP for x in seq ]
在第二个示例中,该表达式是一个“复杂”表达式,其中恰好包含一个if-else。
if-else
你尚未登录,登录后可以
和开发者交流问题的细节
关注并接收问题和回答的更新提醒
参与内容的编辑和改进,让解决方法与时俱进
联系我
602392714
清零编程群