Python如何将字符串列表按组分块拼接生成目标新列表
需求说明
现有一个所有元素均为字符串的列表,需要将列表内元素按固定长度分组,把每组内的字符串拼接为单个字符串,最终生成由拼接结果组成的新列表。
已知原始列表定义如下:
Old_List = [ 'User','need','to','log','in','Username','need','to','enter','in','Password','need','to','enter','here']
期望得到的新列表效果如下:
New_list=['User need to log in', 'Username need to enter in ', 'Password need to enter here']
注:示例中第二个分组的单词大写、末尾多一个空格属于个例调整,通用分组拼接逻辑按原始列表元素处理即可。
实现方案
观察原始列表总长度为15,每5个元素为一组,通过列表切片按固定步长分组,再用str.join()方法拼接每组字符串即可。
基础循环写法
逻辑直观,方便后续对单个分组做自定义调整:
# 定义每组的固定元素个数 group_length = 5 New_list = [] for idx in range(0, len(Old_List), group_length): # 切片取出当前分组的所有元素 current_group = Old_List[idx: idx + group_length] # 用空格拼接组内元素,加入结果列表 New_list.append(' '.join(current_group))
运行后得到的New_list输出为:
['User need to log in', 'Username need to enter in', 'Password need to enter here']
如果需要匹配示例里第二个字符串末尾多空格、单词大写的效果,直接对对应索引的元素做单独修改即可。
简洁列表推导式写法
适合不需要额外处理分组内容的场景,代码更精简:
group_length = 5 New_list = [' '.join(Old_List[i:i+group_length]) for i in range(0, len(Old_List), group_length)]
内容的提问来源于stack exchange,提问作者Soumya_jeet
相关产品推荐
相关产品推荐

