是否有一种方便的方法从None返回第一个元素或filter

filter(lambda x: x == 5, [3, 5, 5, 8]) # ?? 5 
filter(lambda x: x == 35, [3, 5, 5, 8]) # ?? None 

不必先调用 list()然后再调用 [0]吗?

我的问题是关于方法 filter而不是列表理解。

请您参考如下方法:

filter对象本质上是迭代器。只需使用next函数即可获取第一个值:

next(filter(lambda x: x == 35, [3, 5, 5, 8]), None) 

如果 next(it, None)引发 Nonenext(it)将返回 StopIteration


评论关闭
IT序号网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!