首页 > 解决方案 > 循环迭代,返回最佳实践

问题描述

循环遍历数组时,我时不时会遇到这种模式:

for a in b:  
  if a==y:    
   #do somethinng
    return 1

没有 else 语句,因为我需要a==y在返回任何内容之前检查完整的数组(假设 a 是目录列表中的名称)。

仅当数组中没有元素满足条件时才返回某些内容也是一个好主意a==y

从这个意义上说,我应该如何重新组织代码?

如果循环没有“成功”找到“y”,我如何告诉调用者?

标签: pythonpython-3.xfor-loop

解决方案


如果您希望y只遇到一次或只考虑它的第一次出现(假设您在条件中有一个 return 语句),那么这是另一种方法:

if any(a == y for a in b):
    #do something
    return 1
else:
    return 0

推荐阅读