Python遍历列表匹配到条件元素时如何仅执行一次目标函数
解决方案1:匹配到符合条件后直接终止循环
在原有循环的基础上,执行完目标函数后加break关键字终止遍历,即可保证函数仅执行一次:
# 注意不要用list作为变量名,会覆盖Python内置的列表类型 list_data = [97, 98, 99, 100, 101, 102] threshold = 100 for num in list_data: if num < threshold: execute_function() break # 终止循环,不再遍历后续元素
解决方案2:使用内置any()函数(写法更简洁)
Python内置的any()函数会在迭代序列时,只要匹配到第一个符合条件的元素就会停止迭代、返回True,刚好契合你的需求:
list_data = [97, 98, 99, 100, 101, 102] threshold = 100 if any(num < threshold for num in list_data): execute_function()
- 两种方案的时间复杂度一致,都是最优的O(n),最坏情况遍历完整个列表才知道有没有符合条件的元素,最好情况第一个元素就匹配到,直接停止遍历。
内容的提问来源于stack exchange,提问作者c_the_b
相关产品推荐
相关产品推荐

