pythonでのsortとsortedの違い
概要
pythonでリストの要素を降順または昇順にソートする際に使う
sort()
sorted()
の違いについてまとめる。
ひとことでまとめるとsort()
: リスト型のメソッドで、元のリストをソートして上書きsorted()
: 元のリストをソートした新しいリストを生成する
となっている。
sort()
について:元のリストをソートして上書き
sort()はリスト型のメソッドで、ソート結果が上書きされる。破壊的処理。
- 昇順でソートする場合
a = [3, 2, 1] a.sort() print(a) # [1, 2, 3]
- 降順でソートする場合
a = [1, 2, 3] a.sort(reverse=True) print(a) # [3, 2, 1]
sorted()
について:ソートした新しいリストを生成
sorted()は引数にソートしたいリストを指定すると、ソート済みのリストを新しく生成して返す。
- 昇順でソートする場合
a = [3, 2, 1] new_a = sorted(a) print(new_a) # [1, 2, 3]
- 降順でソートする場合
a = [1, 2, 3] new_a = sorted(a, reverse=True) print(new_a) # [3, 2, 1]