Pythonのリストは文字列と違ってイミュータブルではなくミュータブルです。ミュータブルとは、後から、要素の値を変えられることを意味します。つまり Pythonのリストは、一度作った後に、その値を置換することができます。
そこで、このページでは、Pythonのリストの要素を置換する方法について解説していきます。
なお、イミュータビリティについては「初心者のためのPythonの文字列操作の基本」も読むと、よりよく分かると思います。
1. Pythonのリストの要素を置換する方法
早速、以下をご覧ください。
“colors” と名付けたリストに、red, orange, blue, green, yellow という要素を入れています。
colors = ["red", "orange", "blue", "green", "yellow"]
colors
それぞれインデックス番号は下図の通りになります。
それでは、この要素の中の blue を gray に置換してみましょう。
置換の時は、[] を使って、
リスト名[置換したい要素のインデックス番号] = “入れ替えたい値”
と記述します。
以下をご覧ください。
colors[2] = "gray"
colors
blue のインデックス番号は 2 なので、colors[2] で置換したい要素を指定します。そして = 演算子を使って、入れ替えたい値 gray を入力します。出力結果を見ると、blue が gray に置換されていますね。
2. 多重(多次元)リストの要素の置換
多重リストになっても考え方は同じです。以下は2重リストです。
colors = [["red", "orange"], ["blue", "green"]]
colors
ここでは、それぞれの要素が次のようにインデックスされています。
この中で、blue を gray に置換したいと思います。
まずは blue がどこにインデックスされているかを突き止める必要があります。blue はインデックス番号 1 が割り振られている外側のリストの中で、インデックス番号 0 を与えられている要素です。
置換したい要素を指定する時は、リスト名[外側のインデックス番号][内側のインデックス番号] と書くので、この場合、要素 blue の場所は colors[1][0] となります。
以下をご覧ください。
colors[1][0] = "gray"
colors
無事、blue が grayに置換されました。
2重より深い多重リストになっても考え方は同じです。最初は、上図のように、紙に図として書き出すと、すぐに慣れると思います。
3. まとめ
Pythonでは、リストの要素の置換を行いたいケースは頻繁にあります。どんどんコードを書いていくうちに、多重リストでも、素早く置換できるようになるでしょう。
コメント