【发布时间】:2016-11-05 12:46:08
【问题描述】:
是否可以在 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
我想要这个的原因是因为我想编写一个递归函数,它在达到基本情况之前调用自身,但是对于它执行的每个循环,我想将该结果附加到一个列表中。
所以我想尝试以下方式:return a.append(func(new_input))
基本上,我在上面的例子中做错了吗?还是不能在return语句中追加。
【问题讨论】:
-
追加返回无。有两条线有什么问题?
-
同意:改变序列的方法总是返回ˋNone
. For instance:append,extend,sort`... -
你正在附加在return语句中,所以显然这是可能的。