【Python】変数・リストの値を入れ替える(交換)方法
2022.11.20 /

本記事ではPythonにおける、変数やリストの値を入れ替える(交換する)方法について解説していきます。
Pythonでプログラムを作成していると、2つの変数の値を入れ替えたい場面があります。簡単に変数の値を入れ替える方法がPythonには存在しますが、知らない人は次のようにコードを記述します。
x = 100
y = 200
# 2つの変数を入れ替える
z = x
x = y
y = z
print(x, y)
# 出力:200 100
上記だと無駄に変数zを用意する必要がありますし、コードも長くなります。本記事を通して、簡単に変数やリストの値を入れ替える方法について理解を深めてください。
変数・リストとは
変数とは
変数とはプログラム上で扱う値につける名前のことです。簡単に言うと、「データを格納するための箱」のようなものです。
C#などのプログラミング言語などでは変数の型をあらかじめ宣言しますが、Pythonでは型の宣言は必要がなく、値を代入するだけで使用できます。
変数には値を格納できますし、格納しないこともできます。変数に値・文字列が格納されているかの判定方法は以下記事をご参照ください。

【Python】変数に格納されている値・文字列の有無(NULL)を判定する方法
リストとは
リストとは複数の値を順番に入れた値です。つまり複数の値を収めることができる仕切りのある入れ物だと考えてください。1つ1つの値は仕切りでスペースが区切られています。このスペースを要素と呼びます。また各要素はインデックス番号が振られています。

リストは次のように[と]でくくり、要素は半角のカンマで区切って記述します。
[100, 200, 300]
リストはイミュータブル(変更可能)であり、先頭や末尾、中間など好きな場所に要素を追加できますし、順番に取り出すことも簡単にできます。
リストが空かどうかの判定方法については以下記事をご参照ください。

【Python】リスト・タプルで空の判定(判別)方法
変数の値を入れ替える方法
Pythonで2つの変数の値を入れ替える方法は以下の通りです。
変数1, 変数2 = 変数2, 変数1
これはアンパック代入のスワッピングという技法を使っています。
アンパック代入とは、1つの代入文でリストやタプルなどに格納されている複数要素を複数の変数に代入すること
アンパック代入に関しては以下記事をご参照ください。

【Python】リスト・タプル・辞書:一度に要素を複数の変数に代入(アンパック)
以下に2つの変数を入れ替える例を記します。
x = 100
y = 200
# 2つの変数を入れ替える
x, y = y, x
print(x, y)
# 出力:200 100
この方法を使うことで無駄な変数を用意する必要もないですし、1行で変数の入れ替えが可能になります。
変数が3つ以上になっても、同じように変数の入れ替えは可能です。
x, y, z = 100, 200, 300
# 3つの変数を入れ替える
x, y, z = z, y, x
print(x, y, z)
リストの値を入れ替える方法
Pythonでリスト内の要素の値を入れ替える方法は以下の通りです。
lists = [100, 200, 300]
# リストの要素を入れ替える
lists[0], lists[1] = lists[1], lists[0]
print(lists)
# 出力:[200, 100, 300]
まとめ
本記事「【Python】変数・リストの値を入れ替える(交換)方法」はいかがでしたか。
ぜひ本記事で紹介した変数の入れ替え方法を利用して、読みやすいコードを記入するようにしましょう。