在括号内汇总if语句

时间:2017-02-27 08:22:50

标签: python performance

我正在寻找一种简单的方法来汇聚一些代码以简化生活

foo = []
if bar != None:
    foo.append(bar)

是否有一种简单的方法可以使其看起来像这样:

foo = []
foo.append(bar) if bar != None

我知道不需要这样的东西,但我想开始让我的代码更具可读性和可靠性

由于

3 个答案:

答案 0 :(得分:0)

您的最后一段代码不比第一块更可靠或可读。但是,如果你想要一个替代方案,你可能会想到这个

foo = []
foo += [element for element in [bar] if element is not None]

至少你有一个班轮。但如果只是一个元素,那么你给出的第一个例子就足够了。

答案 1 :(得分:0)

你可以写a.append(bar) if bar != None else None。但是不要这样做,那是完全不可读的。正如其他人所说的那样,你原来的三班轮是一种可行的方式,也就是做你意思的标准方式。

答案 2 :(得分:0)

foo.extend([bar] if bar is not None else [])

但不要这样做,那是完全不可读的。