相关疑难解决方法(0)

在二叉树中查找所有根到叶子路径(在Python中)

我在Python中有一些代码,它应该以列表的形式将所有根目录返回到二叉树中的叶子路径(例如["1-> 2-> 5","1-> 3"]).原始问题来自leetcode.

我需要帮助找出我的代码和/或替代解决方案的问题(最好是Python).对于我上面给出的示例,我的代码返回null,而它实际上应该打印我给出的列表.当你第一次看到这个问题时,我也很感激你如何解决这个问题.

这是我的代码:

    def binaryTreePaths(self, root):
        list1 = []
        if (root == None): 
            return []
        if (root.left == None and root.right == None):
            return list1.append(str(root.val) + "->") 
        if (root.left != None):
            list1.append(self.binaryTreePaths(root.left)) 
        if (root.right != None):
            list1.append(self.binaryTreePaths(root.right))
Run Code Online (Sandbox Code Playgroud)

python recursion binary-tree

1
推荐指数
1
解决办法
5115
查看次数

为什么append方法在列表中返回None?

我知道我可以使用“ append()”将元素添加到列表中,但是为什么赋值返回None?

>>> a=[1,2,3]
>>> a.append(4)
>>> print a 
[1, 2, 3, 4]
>>> a=a.append(5)
>>> print a 
None
>>>
Run Code Online (Sandbox Code Playgroud)

python list append

1
推荐指数
1
解决办法
4297
查看次数

在python中使用if条件列出理解

我有一个列表,其中包含int和str类型的元素.我需要将int元素复制到另一个列表.我尝试了一个无效的列表理解.我的等效循环正在工作.

input = ['a',1,'b','c',2,3,'c','d']
output = []
[output.append(a) for a in input if type(a) == int] 
Run Code Online (Sandbox Code Playgroud)

[无,无,无]

循环中的逻辑相同.

output = []
for a in input:
    if type(a) == int:
        output.append(a)
print(output)
Run Code Online (Sandbox Code Playgroud)

[1,2,3,]

我能知道是什么造就了它.

python

1
推荐指数
1
解决办法
1580
查看次数

列表理解并附加在一行中

我正在尝试对 Numpy 数组使用列表理解,然后在后面附加另一个元素。然后我注意到一些奇怪的事情。

a = [i for i in machine]
a.append("All")
print(a)
Run Code Online (Sandbox Code Playgroud)

这将返回 [251, 360, 661, 662, 852, '全部']

尽管

a = [i for i in machine].append("All")
Run Code Online (Sandbox Code Playgroud)

无返回值

为什么这会返回 None 对象?有没有办法在一行中完成此操作?

python list

1
推荐指数
1
解决办法
1026
查看次数

Python,这是一个bug,附加到元组中的列表会导致无吗?

这是我很长一段时间写的最短的例子之一

我创建并更新了一个元组3

In [65]: arf=(0,1,[1,2,3])

In [66]: arf=(arf[0],arf[1], arf[2] )

In [67]: arf
Out[67]: (0, 1, [1, 2, 3])
Run Code Online (Sandbox Code Playgroud)

所以重新分配工作.

现在我尝试改变它的内容.

In [69]: arf=(arf[0],arf[1], [2] )

In [70]: arf
Out[70]: (0, 1, [2])

In [71]: arf=(arf[0],arf[1], arf[2].append(3) )

In [72]: arf
Out[72]: (0, 1, None)
Run Code Online (Sandbox Code Playgroud)

我回来了吗??? 嘿,是什么给出的?对不起,我是一个蟒蛇菜鸟.

python tuples list append iterable-unpacking

-2
推荐指数
1
解决办法
845
查看次数