我需要帮助来简化我的代码。 代码应检查是否只有两个字母要替换,然后打破for循环:
word = "hesitation"
for i in word:
if i == 'a':
new_word = word.replace(i, '@')
for x in new_word:
if x == 'o':
new_word1 = new_word.replace(x, '0')
for n in new_word1:
if n == 's':
new_word2 = new_word1.replace(n, '$')
print new_word2
答案 0 :(得分:1)
您可以将replace
与指定max replace的可选参数maxreplace
一起使用。给定时,如果替换了第一个maxreplace
次出现:
word = "hesitation"
a = word.replace('a', '@', 1)
b = a.replace('o', '0', 1)
c = b.replace('s', '$', 1)
# c = he$it@ti0n
答案 1 :(得分:0)
首先,您可以通过以下方式执行此操作,而不是嵌套循环:
word = "hesitation"
for i in word:
if i == 'a':
word = word.replace(i, '@')
for x in word:
if x == 'o':
word = word.replace(x, '0')
for n in word:
if n == 's':
word = word.replace(n, '$')
print word
以上代码在时间和空间方面都更有效。 希望这会有所帮助。