Python 如何在字符串中每隔两个索引添加一个标记

Python 如何在字符串中每隔两个索引添加一个标记,python,Python,如何添加标记,例如:*字符串中的每两个索引为什么在变量中使用\ucode>?如果是出于任何原因,那么您可以,如果它是一个虚构的语法,请尽量不要使用它,因为它可能会导致不必要的混淆 至于您的代码,请尝试: def Change(_text): L = len(_text) _i = 2 _text[_i] = "*" _i += 2 print(_text) 运行change\u text(“试用字符串”)时,输出如下所示: def change_text

如何添加标记,例如:*字符串中的每两个索引

为什么在变量中使用
\ucode>?如果是出于任何原因,那么您可以,如果它是一个虚构的语法,请尽量不要使用它,因为它可能会导致不必要的混淆

至于您的代码,请尝试:

def Change(_text):
    L = len(_text)
    _i = 2
    _text[_i] = "*"
    _i += 2
    print(_text)
运行
change\u text(“试用字符串”)
时,输出如下所示:

def change_text(text): 
    for i in range(len(text)):
        if i % 2 == 0: # check if i = even (not odd)
            print(text[:i] + "*" + text[i+1:])
如果您是指其他内容,请说出一个输入示例并希望输出


PS:请认识到字符串在Python中是不可变的,因此您不能实际更改字符串,只能从中创建新字符串。。如果您想实际更改它,您最好将其保存为一个列表,例如。就像他们做的那样

您是否试图用星号分隔每两个字母

*ryout string
tr*out string
tryo*t string
tryout*string
tryout s*ring
tryout str*ng
tryout strin*
您可以使用
itertools.zip\u longest
将字符串拆分,并使用
'*'。join
使用插入的标记重新生成字符串

testtesttest
te*st*te*st*te*st
可能重复:可能重复的
from itertools import zip_longest

def add_marker(s):
    return '*'.join([''.join(x) for x in zip_longest(*[iter(s)]*2, fillvalue='')])