条件表达式在一行中 if 语句

时间:2021-06-24 17:34:06

标签: python

self.values 是我的类中的可选参数(列表)。

我有以下代码:

self.values.append(area) if self.values else self.values = [area]

这个产品

SyntaxError: can't assign to conditional expression

我知道我可以通过以下方式解决这个问题:

 if self.values:
    self.values.append(area)
 else:
    self.values = [area]

但是没有更短的方法来设置它吗?

1 个答案:

答案 0 :(得分:3)

您可以执行以下操作,使用列表为 None 或为空的事实,它被评估为 false 并且将使用 OR 表达式的另一个操作数

self.values = (self.values or []) + [area]