gpt4 book ai didi

python - python中有枚举器查找方法吗?

转载 作者:太空宇宙 更新时间:2023-11-04 07:57:14 27 4
gpt4 key购买 nike

在 Ruby 中,您可以使用 #find 方法在找到数组中符合特定条件的第一个实例后进行短路。

arr = [5,6,7]
arr.find { |n| n % 2 == 0 } #=> 6

在 Python 中有对应的东西吗?还是需要使用 for 循环?我试图避免这种情况:

arr = [5,6,7]
for n in arr:
return n if n % 2 == 0

也许有生成器的解决方案?或者 for 循环可能只是唯一的 pythonic 解决方案。

最佳答案

Perhaps there's a solution with generators?

是的,您可以使用生成器并在其上调用next。返回符合条件的第一个项目,如果没有则引发 StopIteration 错误:

next(n for n in arr if n % 2 == 0)

Python 还允许您传递默认返回值,以防没有任何项目符合过滤条件从而抑制错误:

next((n for n in arr if n % 2 == 0), None)

关于python - python中有枚举器查找方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46712790/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com