为了账号安全,请及时绑定邮箱和手机立即绑定

在python中递归地将一个列表复制到另一个列表

在python中递归地将一个列表复制到另一个列表

ibeautiful 2021-06-04 15:13:24
我想在python中递归地将一个列表复制到另一个列表。为此,我将字符串作为输入,定义了一个空列表并将它们作为列表发送到递归函数,以便我可以将列表复制到另一个列表。但是,错误显示“NoneType”对象没有属性“append”。我错过了什么?我在 main() 中定义了“S”作为列表。如果有其他递归方法,欢迎使用。显示错误:line 35, in string_copyreturn string_copy(k,s.append(k[i]),i+1)AttributeError: 'NoneType' object has no attribute 'append'代码是:def string_copy(k,s,i):  if (i == len(k)):    return s;  else:    return string_copy(k,s.append(k[i]),i+1)def main():  print("enter the string you want to copy:");  k = input();  s = [None];  i = 0;  print("the type of k and s is:", type(k),type(s));  res = string_copy(list(k),list(s),i);  print("the desired results are:","\n", res);if __name__ == "__main__": main()    `     
查看完整描述

2 回答

?
慕标琳琳

TA贡献1830条经验 获得超9个赞

return string_copy(k,s.append(k[i]),i+1)

listappend()方法不返回更新后的列表;它就地添加新项目并返回None.

因此,下一次调用string_copy()None作为 的值s


查看完整回答
反对 回复 2021-06-16
  • 2 回答
  • 0 关注
  • 186 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信