2017-10-28 37 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