如何使用与功能蟒蛇

如何使用与功能蟒蛇

问题描述:

返回for循环我有这样如何使用与功能蟒蛇

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

功能现在我有一个循环

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

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

我能做到这一点,如果我把我的功能逻辑的循环,但我不想这样做,

+0

如果函数不会返回任何东西(即应该发生什么后做别的。只是'没有')为每个项目? – 2015-01-21 02:41:16

+0

为什么这个问题有'django'标记,它是相关的吗? – dazedconfused 2015-01-21 02:48:37

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 

,如果你不需要循环

尝试:

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

不应该需要'return'和'break':只要'return'就可以。有人可能会说'else:continue'是多余的,但我不介意,因为它是明确的。 – jme 2015-01-21 02:37:54

+0

我更喜欢将'else:continue'包含在新学习者的追踪能力中。只是我认为是有帮助的。 – 2015-01-21 02:39:23

+0

我同意,我不赞成或反对,真的。我想我正在期待别人的批评:)。 – jme 2015-01-21 02:40:10