Pythonで変数やリストの値を入れ替え(交換・並べ替え)
Pythonでは値の入れ替え(交換、スワップ)が簡単にできる。変数の値を入れ替えたり、リストの要素の値を入れ替えて並べ替えたりすることが可能。
スポンサーリンク
変数の値を入れ替え(交換)
以下のように書ける。
a = 1
b = 2
a, b = b, a
print('a = ', a)
print('b = ', b)
# a = 2
# b = 1
source: swap_values.py
temp
みたいな一時的な変数を用意する必要がなく、非常にスマート。
同様に複数の変数への値の代入を一行で書ける。
a, b = 100, 200
print('a = ', a)
print('b = ', b)
# a = 100
# b = 200
source: swap_values.py
二値の交換だけでなく、三つ以上でも問題ない。
a, b, c, d = 0, 1, 2, 3
a, b, c, d = c, d, a, b
print('a = ', a)
print('b = ', b)
print('c = ', c)
print('d = ', d)
# a = 2
# b = 3
# c = 0
# d = 1
source: swap_values.py
リストの要素の値を入れ替え(並べ替え)
リスト(配列)の要素の値も入れ替え可能。リストの要素の順番が並べ替えられる。
l = [0, 1, 2, 3, 4]
l[0], l[3] = l[3], l[0]
print(l)
# [3, 1, 2, 0, 4]
source: swap_values.py
すべての要素を昇順、降順に並べ替える(ソートする)場合は組み込み関数sorted()
かリストのメソッドsort()
を使う。
print(sorted(l))
# [0, 1, 2, 3, 4]
print(sorted(l, reverse=True))
# [4, 3, 2, 1, 0]
source: swap_values.py
スポンサーリンク