Python中文
首页
教程
问答
标签
搜索
登录
注册
使用递归将字符串拆分为块
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我试图把一个任意长度的字符串分成3个字符的块。我知道这个问题以前已经被问过(<a href="https://stackoverflow.com/questions/312443/how-do-you-split-a-list-into-evenly-sized-chunks-in-python">How do you split a list into evenly sized chunks?</a>),但是这个答案用列表理解解决了这个问题;我试图用递归函数调用来解决这个问题,所以我的问题更多的是关于Python中的递归函数调用。在</p> <p>我的函数运行良好,直到“基本情况”,即最后一个3个或更少字符的字符串。我得到了<code>TypeError: can only concatenate list (not "NoneType") to list</code>。在</p> <p>为什么基本情况返回<code>None</code>而不是<code>list</code>?我显式地在基本情况下创建一个名为<code>final_value</code>的列表并返回该列表。我甚至有一个调试print语句,它告诉我基本情况返回值的类型是<code><class 'list'></code>。在</p> <p>我的代码在下面。在</p> <pre><code>three_char_strings = [] def split3(str): if len(str) <= 3: final_value = [] final_value.<a href="https://www.cnpython.com/list/append" class="inner-link">append</a>(str) print('Final value: %s\nFinal value type: %s\n' % (final_value, type(final_value))) #For debugging return final_value else: beginning = str[0:3] three_char_strings.append(beginning) remaining = str[3:] three_char_strings + split3(remaining) </code></pre>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>虽然最初的问题是您的非基本case没有<code>return</code>语句(意味着它隐式返回<code>None</code>),但是了解如何在Python中简化代码也是很有启发性的</p> <pre><code>def split3(s): return [s] if len(s) <= 3 else [s[:3]] + split3(s[3:]) </code></pre>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
当用户用PYTHON设置一个或一个不带值的URL时,他们怎么能输入一个/a的代码呢?
4 回答
当用户登录到站点时,如何显示不同的导航栏
4 回答
当用户登录时,在Flask中向用户显示处理结果
7 回答
当用户的Flask会话结束时,我如何从Redis后端中移除所有Celery结果?
8 回答
当用户的Okta配置文件字段当前为blan时,更新该字段
7 回答
当用户的付款逾期2天时,从Django模型检索数据
9 回答
当用户的消息以问号结尾时,如何让机器人说些什么?
2 回答
当用户的系统上可能也安装了Python 2.7时,如何在用户的系统上运行Python 3脚本?
10 回答
当用户确定打印数量时,使用Matplotlib打印动画
1 回答
当用户离开时是否可以删除整个网页?
2 回答
当用户给出一个单词时如何打印?
6 回答
当用户继续更改TKin中的值(使用trace方法)时,使用Entry并更新输入的条目
9 回答
当用户编辑表单字段时,从Django时间字段中删除秒数
8 回答
当用户被更改时,消息不会来自web套接字
2 回答
当用户访问表单时,如何使表单为只读,而不具有更改权限
1 回答
当用户试图更改对象的值时,使用描述符类引发RuntimeError
4 回答
当用户调整GUI的大小时,是否有方法更改GUI内容的大小?
4 回答
当用户调整风的大小时,pythontkinter小部件的大小会不均匀
2 回答
当用户购买某个类别时,是否查找其他类别的销售?
1 回答
当用户转到上一页时,Django和芹菜插入操作
6 回答