在Python 3

时间:2017-04-17 05:09:00

标签: python python-3.x

Python初学者,对不起,如果这是一个愚蠢的问题。

所以我有一个长字符串,我需要在字符串的非常特定的区域添加一个字符。例如,|在字符编号23,912和1200之后。我读了这个Add string in a certain position in Python,但它只适用于添加一个字符。

此外,解决方案需要可扩展,而不仅仅是3次。我正在制作的代码可以包含许多不同的位置,以及我想要角色的位置。

2 个答案:

答案 0 :(得分:1)

参考您发布的链接Add string in a certain position in Python; 如果您想为不同的值重复操作,可以创建一个列表,其中包含您希望插入|字符的所有索引位置。 例如,

>>> l = [1, 3, 4]
>>> s = "abcdef"
>>> for i in l:
>>>     s = s[:i] + "|" + s[i:] # as suggested in your link
>>> s
'a|b||cdef'

这将允许您重复列表中提供的值集的过程。您还可以定义一个函数来帮助解决这个问题,如果这个方法不够,我可以解释一下!

但请注意,这将插入相对于当前迭代的字符。也就是说,在该示例中,在位置1处添加|之后,下一个插入位置3与第一个插入之前的位置不同。您可以通过包含计数器变量来避免这种情况(如果您愿意),以通过已执行的插入数量来抵消所有索引位置(将需要订购初始列表)。

答案 1 :(得分:1)

python不太好,希望我能帮忙 根据你去过的网站,你可以做一个循环来解决问题

代码看起来应该是这样的

def insert_dash(string, index, addin):
    return string[:index] + addin + string[index:]
alldone = False
string = input("String: ")
index = " "
while index:
    index = input("Index: ")
    addin = input("Add into: ")
    string = insert_dash(string, index, addin)

希望它有所帮助!

PS:我没有尝试过代码,但我认为它会起作用