Python列表追加返回值

Lio*_* Co 5 python list

我想创建一个简单的二叉树,如下图所示:

http://imgur.com/QCVSW.png

基本上是空的,但最后的值所以我创建了根列表:

root = [list(),list()]
Run Code Online (Sandbox Code Playgroud)

并制作了一个递归函数来填充所有内容:

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
Run Code Online (Sandbox Code Playgroud)

我的问题是简单的list.append(something)在python中返回"None"所以只要再次调用该函数(TF(None,None,1))None.append不存在.

我该如何解决这个问题?提前致谢.

如果你对如何提高效率或以其他方式提出任何建议(从来没有测试我的代码,所以我不知道它将如何做)

(我的最终目标是拥有一个真假地图和一个参数:"FTFTFFFTFTF"会显示字母"M"等...)

csi*_*rra 18

在python中,您可以使用"+"运算符来连接两个列表,使原始文件保持不变.我想这就是你想要根据你的问题标题做的事情.从而

[1, 2] + [3] 
Run Code Online (Sandbox Code Playgroud)

将返回

[1, 2, 3]
Run Code Online (Sandbox Code Playgroud)

所以你可以以"功能性的方式"使用它.以防你需要它

[1, 2].__add__([3])
Run Code Online (Sandbox Code Playgroud)

相当于之前的表达式.


Pet*_*ter 17

要解决您的确切问题,您可以执行以下操作:

def list_append(lst, item):
  lst.append(item)
  return lst
Run Code Online (Sandbox Code Playgroud)

然后list_append(lst, item)将附加itemlst然后返回lst.