気になったこと
replace()メソッドを使用していて気が付いたのですが、
例えば
python
1a = ['123','456']2b = '123456123456'3for i in a:4 b.replace(i,"グループ"+str(a.index(i)))5print(b)6# >123456123456
のように書いた場合、bは置き換えられませんが、
python
1a = ['123','456']2b = '123456123456'3for i in a:4 b=b.replace(i,"グループ"+str(a.index(i)))5print(b)6# >グループ0グループ1グループ0グループ1
とbに保存するように書くとbが置き換えられます。
しかし例えばappend()では、
python
1a = ['10']2a.append('100')3print(a)4# >['10', '100']
のように、appendした結果をaに代入して保存しなくても、aが変わっています。
聞きたいこと
- なぜ
append()はreplace()のように結果を代入しなくても良いのか。 - 結果を代入しなければ結果が変わらないメソッドは、これ以外に何があるか。
補足情報(FW/ツールのバージョンなど)
Python 3.9

0 コメント