我有一個字符串,其中一個字符('@')需要被一個或多個字符「按順序」和「週期性」列表中的字符替換。 所以,比如我有在Python中「定期」替換字符串中的字符的最佳方式是什麼?
'[email protected]@@[email protected]@[email protected]@@[email protected]@[email protected]'
,並希望
'ab1cde23fghi1jk2lmno312p3qrs1tuvwxy2z'
爲replace_chars = ['1', '2', '3']
的問題是,在這個例子中有更多@字符串 比我有替代品。
這是我的嘗試:
result = ''
replace_chars = ['1', '2', '3']
string = '[email protected]@@[email protected]@[email protected]@@[email protected]@[email protected]'
i = 0
for char in string:
if char == '@':
result += replace_chars[i]
i += 1
else:
result += char
print(result)
但這僅僅的作品當然,如果有不超過三個@原字符串中否則我得到IndexError。
編輯:謝謝你的答案!
使用'replace_chars [i%replace_chars.length]'。那麼你只能做到索引中的「模」。例如3個字符,你做'1%3 - > 1','2%3 - > 2','3%3 - > 0','4%3 - > 1'等等...... –
加'i在'i + = 1'下面的%= 3' –