将子字符串列表添加到python中字符串的特定位置

Posted

技术标签:

【中文标题】将子字符串列表添加到python中字符串的特定位置【英文标题】:add list of substrings to specific positions of string in python 【发布时间】:2020-02-26 03:30:07 【问题描述】:

我有一个大字符串 s 和一个坐标列表,我必须在其中放入一些字符串。

s = "Hello world this is my code"

以及职位列表:

cl = [(4,"this") , (7,"that") , (10 , "other")]

结果:

out >> Hell<this>o w<that>orl<other>d this is my code

我阅读了这个链接:Add string in a certain position in Python 并且很容易将一个字符串推入另一个字符串,但是当我多次按下时位置会发生变化。我该怎么做? 谢谢。

【问题讨论】:

【参考方案1】:

你也可以使用enumerate:

s = "Hello world this is my code"
cl = [(4,"this") , (7,"that") , (10 , "other")]
new_cl = dict(cl)
result = ''.join(a if i not in new_cl else f"<new_cl[i]>a" for i, a in enumerate(s))

输出:

'Hell<this>o w<that>orl<other>d this is my code'

【讨论】:

【参考方案2】:

像这样:

s = "Hello world this is my code"
cl = [(4,"this") , (7,"that") , (10 , "other")]

i = 0
for j,w in cl:
    s = s[:j+i] + w + s[j+i:]
    i += len(w)

只需在每一步添加每个添加单词的长度即可。希望这会有所帮助!

【讨论】:

【参考方案3】:

您可以按相反的顺序进行操作,以免影响前面项目的位置:

for pos, text in reversed(cl):
    s = f's[:pos]<text>s[pos:]'

s 变为:'Hell&lt;this&gt;o w&lt;that&gt;orl&lt;other&gt;d this is my code'

【讨论】:

如果订单未知:sorted(cl, reverse=True).

以上是关于将子字符串列表添加到python中字符串的特定位置的主要内容,如果未能解决你的问题,请参考以下文章

如何将子节点附加到特定位置

python怎么将字符串插入列表

如何在 Python 的列表值中添加特定字符?

VB.NET 如何将子节点添加到树视图中的特定节点

AIX:查找名称包含特定字符串的文件并将其添加到列表中

Python中 appendextendinsertadd 区别