是否可以在return语句中使用append函数?你知道吗
如果我说:
def test_func(n):
a=[1,2,3]
a.append(n)
return a
print test_func(6)
我得到:
[1,2,3,6]
但如果我说:
def test_func(n):
a=[1,2,3]
return a.append(n)
print test_func(6)
我得到:
None
我之所以要这样做,是因为我想编写一个递归函数,在到达基本情况之前调用它自己,但是对于它执行的每个循环,我想将结果附加到一个列表中。你知道吗
所以我想尝试以下方法:returna.append(func(new\u input))
基本上,我在上面的例子中做错了什么吗?或者不能在return语句中追加。你知道吗
append函数不返回任何值,而是更新现有列表。你知道吗
在第一个实现中,返回列表a,在第二个实现中,返回函数append的返回值(总是不返回任何值)。你知道吗
因此,答案是:函数append不可能出现在return语句中,并且不能按您想要的方式工作。你知道吗
您可以通过调用
__iadd__
来替换append
:这应该管用。你知道吗
但我不明白你为什么不使用你的第一个想法。你知道吗
相关问题 更多 >
编程相关推荐