如何在python中使用函数返回for循环函数

时间:2015-01-21 02:30:24

标签: python return

我有这样的功能

def get(l):
   if l.a == 8 :
       return "foo"
   if l.a == 9 :
       return "bar"

现在我有循环

for l in mylist:
   value = get(l)
return value

我希望for循环应该退出,如果我的函数返回一些东西,如果没有,那么它应该继续下一个循环项,直到我的函数返回一些东西。

如果我将我的函数逻辑放入for循环但我不想这样做

,我可以这样做

2 个答案:

答案 0 :(得分:3)

l对于变量来说是一个糟糕的选择,因为它在某些字体中看起来与1太相似了。我把它改为item这里

for item in mylist:
    value = get(item)
    if value is not None
        break
# ... can do other stuff with value here
return value

甚至

for item in mylist:
    value = get(item)
    if value is not None:
        return value

如果你不需要在循环之后做任何其他事情

答案 1 :(得分:0)

尝试:

for l in mylist:
   value = get(l)
   if value is not None:
       return value
   else: 
       continue