首页 > 解决方案 > 如果不是无,则包括在列表中

问题描述

给定

l=[]

我想要从函数返回的值getElem()l如果结果不是None,那么优雅的方法是什么?

一种可能的方式

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

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

标签: python-3.x

解决方案


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

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)

推荐阅读