2015-05-31 127 views
-1

我不得不遞歸遍歷列表中的一些對象。Python遞歸處理

def function(): 
    for object in list: 
     if object.field is None: 
     // stuff here 
     else: 
      function(object.field) 
    return something 

,我現在面臨的問題是,Python不爲列表中的所有對象做到這一點,而是將其返回他得到他每次與「object.field!=無時間見面「。 我想要做的只是當for循環結束時才返回,直到完成列表中的所有對象。

有人可以解釋我一種方法來做到這一點?

+0

'這裏的東西'包含'return'語句嗎?如果是這樣,你確定你明白'return'的作用嗎?因爲當函數調用命中'return'時,就是這樣。結束了。執行立即從調用該函數的地方繼續。 – user2357112

+0

我沒有在這裏調用返回的東西。 – KLi

+1

我們將需要看到[我們可以實際運行的代碼,當我們運行它時實際上會再現問題](http://stackoverflow.com/help/mcve)。自從您將'!='更改爲'='後,情況尤其如此,這極大地改變了代碼的解釋方式,並使語法問題比以前更糟。 – user2357112

回答

0

只有在object.fieldNone時,您纔會再次調用該功能。 object.field != None將運行if的第一個塊。當object.field == None將運行else

+0

很抱歉,我更正了我的代碼。 – KLi