python字符串replace替換無效
背景
今天想把一個列表中符合條件的元素中 替換部分字符串, 發現怎么替換,改元素還是沒有改變,本以為是內存引用的問題后來發現並不然。
經查閱解決
在Python中字符串是immutable對象,是不可變對象。
所以string使用replace需要重新賦值,生成一個新的對象。
str_a = 'hello world'
#replace 其實創建了新的字符串對象,需要重新引用這個字符串
str_a = str_a.replace('*****')
之前沒有重新引用,導致該變量 指向的是 以前的對象,實則已經發生變化,只是沒有重新引用而已。