2017-10-28 18 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 
関連する問題