如果不是,则包含在列表中

时间:2018-05-09 04:04:34

标签: python-3.x

鉴于

l=[]

如果结果不是getElem(),我想将函数l返回的值传递给None,这样做的优雅方法是什么?

一种可能的方式

a=getElem()
if a!=None:
  l.append(a)

但我希望有一个更优雅的单行解决方案

1 个答案:

答案 0 :(得分:0)

可以使用列表连接来完成。如果这是您将多次使用的行为,您也可以将其变为函数。

concat_if_not_none = lambda l,e: l if e is None else l + [ e ]

empty_list = [ ]
element = get_elem() 
maybe_empty_list = concat_if_not_none(empty_list, element)