Python - リストを並び替える

リストの並び替え: sorted()

リストの要素を並び替えるには sorted() 関数を使用します。sorted() 関数は、並び替えた結果を新しいリストで返します。並び替える前のリストはそのままになります。

list1 = ['B', 'C', 'A', 'E', 'D']

list2 = sorted(list1)

print(list1)
# ['B', 'C', 'A', 'E', 'D']

print(list2)
# ['A', 'B', 'C', 'D', 'E']
リストの並び替え: sorted()

並び替えの順序を逆順にする場合は、引数に reverse=True を指定します。

list1 = ['B', 'C', 'A', 'E', 'D']

list2 = sorted(list1, reverse=True)

print(list1)
# ['B', 'C', 'A', 'E', 'D']

print(list2)
# ['E', 'D', 'C', 'B', 'A']
リストの並び替え: sorted()

指定した関数に要素の値を渡して帰ってきた値を使って比較することもできます。以下の例では、絶対値 (abs() 関数) の順番に並び替えています。

list1 = [-2, 1, -3, -5, 4]

list2 = sorted(list1, key=abs)

print(list2)
# [1, -2, -3, 4, -5]
リストの並び替え: sorted()

リストの並び替え: sort()

並び替える前のリストの要素を並び替えるには sort() 関数を使用します。

list1 = ['B', 'C', 'A', 'E', 'D']

list1.sort()
print(list1)
# ['A', 'B', 'C', 'D', 'E']
リストの並び替え: sort()

並び替えの順序を逆順にする場合や、関数を指定する方法は sorted() 関数と同じです。

関連記事