只是一个简单的问题:
str = ['blah','blah']
for word in str:
word = word * 2
print str
这只是打印 ['blah','blah']。为什么(我知道如何做到这一点,只是想知道为什么这是不允许的)?
最佳答案
问题是您创建了一个新字符串,但未更新 str 列表中的引用。这意味着
word = word * 2
影响有新地址的变量字,并且这个地址(引用) 未更新到 str 列表。为此,您需要:
str[i] = str[i] * 2
或
word = word * 2
str[i] = word
关于python - for循环中的字符串调整,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6402778/