首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Python每三个字符插入逗号一次多行错误。

Python每三个字符插入逗号一次多行错误。
EN

Stack Overflow用户
提问于 2022-02-17 19:09:52
回答 1查看 224关注 0票数 0

我使用python尝试在第三个字符之后插入逗号,如果我的文本文件是一行,但对于我的多行文本文件来说,它工作得很好。

输入:

代码语言:javascript
代码运行次数:0
运行
复制
bcdfghjklmnpqrstvwxyz
bcdfghjklmnpqrstvwxyz
bcdfghjklmnpqrstvwxyz
bcdfghjklmnpqrstvwxyz
bcdfghjklmnpqrstvwxyz

产出:

代码语言:javascript
代码运行次数:0
运行
复制
bcd, fgh, jkl, mnp, qrs, tvw, xyz,
bc, dfg, hjk, lmn, pqr, stv, wxy, z
b, cdf, ghj, klm, npq, rst, vwx, yz
, bcd, fgh, jkl, mnp, qrs, tvw, xyz,
bc, dfg, hjk, lmn, pqr, stv, wxy, z

期望产出:

代码语言:javascript
代码运行次数:0
运行
复制
bcd, fgh, jkl, mnp, qrs, tvw, xyz
bcd, fgh, jkl, mnp, qrs, tvw, xyz
bcd, fgh, jkl, mnp, qrs, tvw, xyz
bcd, fgh, jkl, mnp, qrs, tvw, xyz
bcd, fgh, jkl, mnp, qrs, tvw, xyz 

代码:

代码语言:javascript
代码运行次数:0
运行
复制
with open("input.txt") as main:
    words = main.read() 

res = ', '.join(words[i:i + 3] for i in range(0, len(words), 3))

print(res)
EN

回答 1

Stack Overflow用户

发布于 2022-02-17 19:16:57

因为换行符是一个字符,所以你的程序每三个字符加一个逗号,这不是你想要的。您可以将它分别应用于每一行,如下所示:

代码语言:javascript
代码运行次数:0
运行
复制
with open("input.txt") as main:
    words = main.readlines()

res = "\n".join(
    ", ".join(line[i : i + 3] for i in range(0, len(line), 3)) for line in words
)

print(res)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71164082

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档