2017-10-28 42 views

回答

8

你可以试试这个:

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' 
+0

在这种情况下,更有效地使用一组而不是列表。集合具有O(1)用于包容检查。 – Vinny

+0

@Vinny谢谢你指出。请参阅我最近的编辑。 – Ajax1234

0

另一种方式:

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) 
1

只需用一个函数并传递参数为指标,串并替换字符:

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