undefined
如何添加标记,例如:*每两个Index In String
答案 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='')])