Pythonのリストの要素を置換する方法

Pythonのリストは文字列と違ってイミュータブルではなくミュータブルです。ミュータブルとは、後から、要素の値を変えられることを意味します。つまり Pythonのリストは、一度作った後に、その値を置換することができます。

そこで、このページでは、Pythonのリストの要素を置換する方法について解説していきます。

なお、イミュータビリティについては「初心者のためのPythonの文字列操作の基本」も読むと、よりよく分かると思います。

目次

1. Pythonのリストの要素を置換する方法

早速、以下をご覧ください。

“colors” と名付けたリストに、red, orange, blue, green, yellow という要素を入れています。

In [1]:
colors = ["red", "orange", "blue", "green", "yellow"]
colors
Out[1]:
['red', 'orange', 'blue', 'green', 'yellow']

それぞれインデックス番号は下図の通りになります。

それでは、この要素の中の blue を gray に置換してみましょう。

置換の時は、[] を使って、

リスト名[置換したい要素のインデックス番号] = “入れ替えたい値”

と記述します。

以下をご覧ください。

In [2]:
colors[2] = "gray"
colors
Out[2]:
['red', 'orange', 'gray', 'green', 'yellow']

blue のインデックス番号は 2 なので、colors[2] で置換したい要素を指定します。そして = 演算子を使って、入れ替えたい値 gray を入力します。出力結果を見ると、blue が gray に置換されていますね。

2. 多重(多次元)リストの要素の置換

多重リストになっても考え方は同じです。以下は2重リストです。

In [3]:
colors = [["red", "orange"], ["blue", "green"]]
colors
Out[3]:
[['red', 'orange'], ['blue', 'green']]

ここでは、それぞれの要素が次のようにインデックスされています。

この中で、blue を gray に置換したいと思います。

まずは blue がどこにインデックスされているかを突き止める必要があります。blue はインデックス番号 1 が割り振られている外側のリストの中で、インデックス番号 0 を与えられている要素です。

置換したい要素を指定する時は、リスト名[外側のインデックス番号][内側のインデックス番号] と書くので、この場合、要素 blue の場所は colors[1][0] となります。

以下をご覧ください。

In [4]:
colors[1][0] = "gray"
colors
Out[4]:
[['red', 'orange'], ['gray', 'green']]

無事、blue が grayに置換されました。

2重より深い多重リストになっても考え方は同じです。最初は、上図のように、紙に図として書き出すと、すぐに慣れると思います。

3. まとめ

Pythonでは、リストの要素の置換を行いたいケースは頻繁にあります。どんどんコードを書いていくうちに、多重リストでも、素早く置換できるようになるでしょう。



よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

目次
閉じる