我想創建一個簡單的二進制樹後面這一形象:Python列表添加返回值
基本上是空的,但是最後的值,所以我創建的根目錄:
root = [list(),list()]
,並提出了遞歸函數來填充這一切:
def TF(nodeT,nodeF , i):
if i == 35 : return 'done'
TF(nodeT.append([]),nodeT.append([]) , i = i + 1) #append T , F in the true node
TF(nodeF.append([]),nodeT.append([]) , i = i + 1) #append T , F in the false node
我的問題很簡單list.append(something)在python中返回「None」,所以一旦函數被再次調用(TF(None,None,1))None.append不存在。
我該如何解決這個問題?提前致謝。
此外,如果您有關於如何使這更有效,或者以另一種方式的任何建議(從來沒有來測試我的代碼,所以我不知道它會怎麼做)
(我的最終目標是有一個真正的假地圖和參數,因此:「FTFTFFFTFTF」帶來了字母「M」等)
你願意就用這個解釋一下? – 2009-12-16 22:38:34
請不要將其他語言的代碼轉譯成Python。請嘗試考慮Python的實際工作方式;請考慮算法的實際工作原理。然後 - 理解後 - 編寫Python。只需用Python令牌代替C語言令牌就很少能讓你使用Python。 – 2009-12-17 12:50:40
這是我討厭python和IMO的事情之一,是完全不歧視的。任何改變'self'的方法都應該返回'self'。任何改變任何東西的函數都應該返回那個東西。 – DylanYoung 2016-10-03 18:26:22