将字符串保存到变量外部循环

时间:2015-02-24 22:00:19

标签: python

test = "ABC"

for i in range(0, 5):
    print i
    test test.replace('ABC', str(i))

print test

这打印0,而我希望它打印4.发生了什么?

1 个答案:

答案 0 :(得分:1)

这很有道理。

roster是一个空字符串。 replace永远不会(假设name_list不包含空字符串,那么我不知道它将如何表现)匹配空字符串中的任何内容。

更新

看起来,如果你的name_list包含一个空字符串,那么它将进行替换(Python 2.7):

''.replace('', 'foo') # => 'foo'

自问题完全更改后更新。

(假设您在=test之间错过了test.replace('ABC', str(i))

您的问题的新代码,预计会输出0。您正在将test变更为'0',然后'ABC'的匹配将永远不再符合14