首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在字符串中插入8个字符的子字符串并在Python中继续?

如何在字符串中插入8个字符的子字符串并在Python中继续?
EN

Stack Overflow用户
提问于 2020-12-15 00:08:15
回答 1查看 48关注 0票数 0

编辑:我现在看到它每3-4个字母就中断一次,因为它在计算逗号。我如何让它忽略逗号?

我有一个字母串,每8个字母,我想插入一个包含8个零的子串。因此,如果我的字符串输入是'H,e,l,l,o,W,o,r,l,d‘,我希望我的输出看起来像'H,e,l,l,o,W,o,r,0,0,0,0,0,0,0,0,l,d’。这就是我到目前为止所拥有的,但在我迭代了3-4个字母之后,我发现它被打破了。

代码语言:javascript
复制
x = 'H,e,l,l,o,W,o,r,l,d,I,t,I,s,A,G,o,o,d,D,a,y' 
count = 0
for ele in x:
    if count == 8:
        x = x[:count] + ',0,0,0,0,0,0,0,0,' + x[count:]
        count = 0
    else:
        count += 1
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-12-15 00:17:25

因为您在每个字符后面都有一个逗号,所以在您的示例中,您实际上在16个字符之后插入了零。要做到这一点,一个简单方法如下:

代码语言:javascript
复制
distance = 16
insertion = '0,' * 8
x = 'H,e,l,l,o,W,o,r,l,d,I,t,I,s,A,G,o,o,d,D,a,y' 

parts = [x[i:i+distance] for i in range(0, len(x), distance)]
result = insertion.join(parts)

结果将是:'H,e,l,l,o,W,o,r,0,0,0,0,0,0,0,0,l,d,I,t,I,s,A,G,0,0,0,0,0,0,0,0,o,o,d,D,a,y'

还有一个简短的警告:在你的示例代码中,你循环了x的元素,但在循环中,你修改了x。你永远不应该修改你正在循环的变量(iterable)。相反,如果您想遵循您的方法,您应该创建一个新变量作为一个空字符串y = '',然后将for循环中的新字符串连接到y。最后,您可以用y覆盖x。

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

https://stackoverflow.com/questions/65292327

复制
相关文章

相似问题

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