我有一个列表理解,调用一个可能返回的函数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)