|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
请问为什么
- def get_digits(n):
- result = []
- if n == 0:
- return result
- else:
- return get_digits(n//10).append([n%10])
- print(get_digits(12345))
复制代码
不行而拼接就可以?
- def get_digits(n):
- result = []
- if n == 0:
- return result
- else:
- return get_digits(n//10)+[n%10]
- print(get_digits(12345))
- #拼接就能成功运行
复制代码
本帖最后由 Twilight6 于 2020-6-25 16:58 编辑
return get_digits(n//10).append([n%10])
列表的大多数方法都没有返回值,返回的是None,导致你 get_digits(n//10) 递归过程中会返回 None 而不是返回一个列表
而 None 不能使用列表的 append 的方法,导致报错
get_digits(n//10)+[n%10] 这个返回的是一个列表 所以和你上面的那个不同,这个就可以
而且这个不叫拼接吧,我也不清楚具体叫什么,应该叫合并列表吧,拼接是对字符串而言的
|
|