您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Python:返回列表的第一个元素的索引,使传递的函数为true

Python:返回列表的第一个元素的索引,使传递的函数为true

您可以使用生成器在单行代码中做到这一点:

next(i for i,v in enumerate(l) if is_odd(v))

生成器的好处是它们只能计算所请求的数量。因此,请求前两个索引非常简单(几乎):

y = (i for i,v in enumerate(l) if is_odd(v))
x1 = next(y)
x2 = next(y)

但是,在最后一个索引之后会产生StopIteration异常(这是生成器的工作方式)。知道没有找到这样的值时,这在“先行”方法中也很方便- list.index()函数将在此处抛出ValueError。

python 2022/1/1 18:40:27 有280人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶