jody970214 发表于 2020-3-2 19:55:33

递归尝试

尝试用递归实现下列表元素的反转但却报错,请教大佬是什么情况,代码如下:

def rev(list_):
    if len(list_) == 1:
      return list_
    else:
      return rev(list_).append(list_)

报错如下:

<ipython-input-124-80b760926c77> in rev(list_)
      3         return list_
      4   else:
----> 5         return rev(list_).append(list_)

AttributeError: 'NoneType' object has no attribute 'append'

qiuyouzhi 发表于 2020-3-2 19:57:39

函数没有append,要用列表
可以先将参数append再返回

zltzlt 发表于 2020-3-2 19:58:12

list.append() 没有返回值,它只能作为一个单独的操作,所以应该这样改:

def rev(list_):
    if len(list_) == 1:
      return list_
    else:
      res = rev(list_)
      res.append(list_)
      return res

jody970214 发表于 2020-3-3 19:41:29

qiuyouzhi 发表于 2020-3-2 19:57
函数没有append,要用列表
可以先将参数append再返回

嗯嗯明白了 感谢!

jody970214 发表于 2020-3-3 19:42:14

zltzlt 发表于 2020-3-2 19:58
list.append() 没有返回值,它只能作为一个单独的操作,所以应该这样改:

嗯嗯明白了 感谢!
页: [1]
查看完整版本: 递归尝试