相关疑难解决方法(0)

在调用函数的列表推导中有效地过滤掉"无"项

我有一个列表理解,调用一个可能返回的函数None.

>>> f = lambda x: x if x < 3 else None
>>> l = [f(x) for x in [1,2,3,4]]
[1, 2, None, None]
Run Code Online (Sandbox Code Playgroud)

我希望上面的列表理解,没有'无'条目.

什么是更有效的方式来执行以下操作,而不会产生额外的开销,同时保持列表理解的效率?

>>> filter(None, [f(x) for x in [1,2,3,4]])
[1, 2]
Run Code Online (Sandbox Code Playgroud)

python list-comprehension list python-2.7

12
推荐指数
1
解决办法
3828
查看次数

标签 统计

list ×1

list-comprehension ×1

python ×1

python-2.7 ×1