Pythonで変数やリストの値を入れ替え(交換・並べ替え)

Modified: | Tags: Python, リスト

Pythonでは値の入れ替え(交換、スワップ)が簡単にできる。変数の値を入れ替えたり、リストの要素の値を入れ替えて並べ替えたりすることが可能。

変数の値を入れ替え(交換)

2つの変数の値の入れ替えは以下のように書ける。確認のための出力にf文字列を使っている。

a = 1
b = 2

a, b = b, a

print(f'{a = }')
print(f'{b = }')
# a = 2
# b = 1

tempのような一時的な変数を用意する必要がなく、非常にスマート。

同様に複数の変数への値の代入を一行で書ける。

a, b = 100, 200

print(f'{a = }')
print(f'{b = }')
# a = 100
# b = 200

3つ以上でも同様。

a, b, c, d = 0, 1, 2, 3

a, b, c, d = d, c, b, a

print(f'{a = }')
print(f'{b = }')
print(f'{c = }')
print(f'{d = }')
# a = 3
# b = 2
# c = 1
# d = 0

リストの要素の値を入れ替え(並べ替え)

リストの要素の値も入れ替え可能。リストの要素の順番が並べ替えられる。

l = [0, 1, 2, 3, 4]

l[0], l[3] = l[3], l[0]

print(l)
# [3, 1, 2, 0, 4]

すべての要素を昇順・降順に並べ替える(ソートする)には組み込み関数sorted()かリストのメソッドsort()を使う。

print(sorted(l))
# [0, 1, 2, 3, 4]

print(sorted(l, reverse=True))
# [4, 3, 2, 1, 0]

関連カテゴリー

関連記事