【发布时间】:2026-01-21 11:40:01
【问题描述】:
我真的只是想知道,当涉及到这种情况时,pythonic 的处理方式是什么?使用if else 三元组或or:
true_list = []
for x, y in a_list: # x, y could be any truthy or falsy value
true_list.append(x or y)
true_list.append(x if x else y)
编辑:我更新了这个问题以忽略语义,我主要想知道哪个表达式更 Pythonic。
【问题讨论】:
-
如果你写
string += x if x is not None else y你不需要评论。与您所拥有的相比,它确实以不同的方式处理空字符串。 -
你不能忽略语义。不符合您预期的代码是不是 Pythonic。
-
x if x or y甚至在语法上都不正确;我猜你的意思是x if x else y。
标签: python logical-operators conditional-operator