我想创建一个简单的二进制树后面这一形象: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