如何在String中每两个索引添加标记

时间:2017-04-01 19:41:08

标签: python

undefined

如何添加标记,例如:*每两个Index In String

2 个答案:

答案 0 :(得分:0)

为什么在变量中使用_?如果它是these的任何原因那么你就可以了,如果它是一个组成的语法,尽量不要使用它,因为它可能会造成不必要的混淆。

至于你的代码,试试:

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:])

当您运行change_text("tryout string")时,输出将如下所示:

*ryout string
tr*out string
tryo*t string
tryout*string
tryout s*ring
tryout str*ng
tryout strin*

如果您有其他意思,请输入示例输入并希望输出。

请参阅How to create a Minimal, Complete, and Verifiable example

PS :请注意字符串在Python中是不可变的,因此您无法实际更改字符串,只能从中创建新字符串..如果您想要实际更改它,您可能更好地保存例如,它作为列表。就像他们做过here一样。

答案 1 :(得分:0)

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

testtesttest
te*st*te*st*te*st

您可以使用itertools.zip_longest分割字符串,'*'.join使用插入的标记重建字符串

from itertools import zip_longest

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