note.nkmk.me

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

Date: 2018-05-16 / tags: Python, リスト

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

スポンサーリンク

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

以下のように書ける。

a = 1
b = 2

a, b = b, a

print('a = ', a)
print('b = ', b)
# a =  2
# b =  1

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

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

a, b = 100, 200

print('a = ', a)
print('b = ', b)
# a =  100
# b =  200

二値の交換だけでなく、三つ以上でも問題ない。

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

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

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

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]
スポンサーリンク
シェア
このエントリーをはてなブックマークに追加

関連カテゴリー

関連記事