python - for循环中的字符串调整

标签 python string list loops for-loop

只是一个简单的问题:

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/

相关文章:

string - Hiveql - RIGHT() LEFT() 函数

python - 更改列表中的特定索引

python - 在 Flask 中使用 SCSS

python - if/else 语句在 python 中接受大写和小写字母的字符串

python - 如何停止对字符串列表中重复字母的过度计数

c - 如何用空格填充字符串

python - python中2个列表的线性回归

list - 循环浏览要处理的组名的值列表

python - Pandas 数据框的简单数据透视表

python - heroku 上的 Peewee 和 postgres,无法创建表