gpt4 book ai didi

python - 在满足条件之前迭代列表的最pythonic方法是什么?

转载 作者:行者123 更新时间:2023-11-28 19:34:04 25 4
gpt4 key购买 nike

我有一个真实值列表:

values = [0.1, 2.9, 1.4, 5.7, 9.2, 3.8]

我想迭代项目的数量,直到满足某些条件。例如,如果条件是 item > 5,则结果将为 3。

最简单的方法,也许是最直接的方法是:

for index, item in enumerate(values):
if (item > 5):
print(index)
break

是否有任何其他更pythonic,最好是单行的方式来做到这一点?

最佳答案

您可以将 itertools.takewhilesum 一起使用,它将获取元素直到满足条件,使用我们惰性评估的生成器表达式:

values = [0.1, 2.9, 1.4, 5.7, 9.2, 3.8]

from itertools import takewhile

print(sum(1 for _ in takewhile(lambda x: x< 5,values)))

关于python - 在满足条件之前迭代列表的最pythonic方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28969578/

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