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]