アルゴリズム?プログラミング。 - 入れ替えよう!
あるデータが2つあるとします。リストで作っています。
arr = ["Tro","Hanako"]
今並びは"Tro"が先で"Hanako"があとになっています。
この順番を入れ替えてみましょう。
入れ替える前にリストの値の取り方を復習します。
arr = ["Tro","Hanako"]
print(arr[0])
print(arr[1])
を実行します。
と出力されます。
arr[0]、arr[1]、で値をとることができます。リストの最初の値から
と順番が振られているわけです。添字、インデックス、subscriptなどと言います。
今の場合は0番目がTaro、1番目がHanakoということです。
この仕組みを使って値の入れ替えをします。単純に
arr[0] = arr[1]
arr[1] = arr[0]
としてしまうと、
でarr[0]の値がarr[1]の値に変わってしましうので
arr[0]を代入する時にはすでにarr[1]の値に変わっているので実行するとみんな同じ値となってしまいます。
そこで最初の段階で"arr[0] "の値を違う変数に"取って置く"、別に保存しておくことにします。別に保存する変数reserveを作って"arr[0] "の値を保存します。
reserve = arr[0]
そして
arr[0] = arr[1]
ここで保存しておいた変数を代入してやります。
arr[1] = reserve
全てのコードは
arr = ["Tro","Hanako"]
reserve = arr[0]
arr[0] = arr[1]
arr[1] = reserve
print(arr)
これで実行してやると
と入れ替わっているのがわかります。
タプル
実はPythonには便利な機能があります。タプルと呼ばれるものでデータをひとまとめにできます。例えば変数、a、b があると
(a,b) = (5,7)
と変数宣言できて
print(a)
とすると"a"の値が取り出すことができます。
実は値の交換も
(a,b) = (5,7)
print(a)
(a,b) = (b,a)
print(a)
のように簡単にできるのです。