初始化列表并附加在一行中

时间:2016-10-07 19:41:55

标签: python

如果列表尚未初始化并且在一行中附加到列表,我该如何初始化列表。例如,

function example(a=None):
   a = a or []
   a.append(1)
   return another_function(a)

如何将函数中的这两个语句合并为一个?

我正在寻找类似的东西,但这不起作用:

function example(a):
   a = (a or []).append(1)
   return another_function(a)

编辑:我没有在其他地方引用a,它只是从一个函数传递给另一个函数。实际上只是值是重要的,所以如果它是具有正确值的另一个对象就可以了。我还添加了默认值None。

1 个答案:

答案 0 :(得分:3)

def example(a):
    return a + [1] if a else [1]

>>> example([1,2,3])
[1, 2, 3, 1]
>>> example([])
[1]