Python如何将字符串按每3行分割存入列表并解决输出错误问题
按每3行分割字符串的实现方案
原代码问题说明
你当前的实现直接对原始字符串按字符索引切片,未先将字符串按换行拆分出行,因此得到的是字符切片而非按行分组的结果。
正确实现代码
a_string = """ LINE 1 LINE 2 LINE 3 LINE 4 LINE 5 LINE 6""" split_strings = [] group_size = 3 # 先拆分出所有行,过滤首尾无意义空行后转为列表 lines = [line for line in a_string.splitlines() if line.strip()] # 按每组group_size行拆分 for i in range(0, len(lines), group_size): # 取出当前组的行,用换行符拼接后存入列表 group = '\n'.join(lines[i:i+group_size]) split_strings.append(group) # 打印验证结果 for s in split_strings: print(s) print("----------------------------------------------------------")
运行输出结果
LINE 1 LINE 2 LINE 3 ---------------------------------------------------------- LINE 4 LINE 5 LINE 6 ----------------------------------------------------------
代码逻辑说明
- 先用
splitlines()方法将原始字符串按换行符拆分为行列表,同时通过列表推导式过滤掉无意义的空行,如果需要保留原始空行可直接写lines = a_string.splitlines() - 遍历行列表的索引,步长设置为你需要的分组行数3,每次取3个行元素
- 将每组的行元素用
\n拼接回多行字符串,存入结果列表即可
内容的提问来源于stack exchange,提问作者klix
相关产品推荐
相关产品推荐

