Python 用位置列表中的另一个字符替换字符串中的字符
如何用位于不同位置的另一个字符替换字符串中的某些字符? 例如,我有字符串:Python 用位置列表中的另一个字符替换字符串中的字符,python,string,Python,String,如何用位于不同位置的另一个字符替换字符串中的某些字符? 例如,我有字符串:string=“******u”,列表:list=[0,2,4]和字符='a'。如何将字符串[0],字符串[2],字符串[4]替换为a?您可以尝试以下方法: s = "********u" l ={0,2,4} final_string = ''.join(["a" if i in l else a for i, a in enumerate(s)]) 输出: 'a*a*a***u' a*a*a***u 另一种方式:
string=“******u”
,列表:list=[0,2,4]
和字符='a'
。如何将字符串[0]
,字符串[2]
,字符串[4]
替换为a
?您可以尝试以下方法:
s = "********u"
l ={0,2,4}
final_string = ''.join(["a" if i in l else a for i, a in enumerate(s)])
输出:
'a*a*a***u'
a*a*a***u
另一种方式:
your_string = list("********u")
your_list = [0,2,4]
for index_number in your_list:
your_string[index_number] = 'a'
your_output = ''.join(your_string)
print(your_output)
只需使用函数并将参数作为索引、字符串和替换字符传递:
def replace(index_list,character,string):
string=list(string)
for index in index_list:
string[index]=character
return "".join(string)
print(replace([0,2,4],'a',"********u"))
输出:
'a*a*a***u'
a*a*a***u
在这种情况下,使用集合而不是列表更有效。集合有O(1)用于包含检查。@Vinny感谢您指出这一点。请看我最近的编辑。