list の sort

Python

Python の list の sort には下記の2種類があります。

  • list型のメソッドsort(): 元のリストをsrot
  • 組み込み関数sorted(): 新たにsortされたリストを生成

大きな違いは元のlistを書き換えてしまうか、新たなリストを生成するかの違いになります。

list型のメソッドsort(): 元のリストをsrot

組み込み型 — Python 3.10.4 ドキュメント
test_list = [ 200, 100, 300]

test_list.sort()
print(test_list)
# [100, 200, 300]

sort が返すのは None なので注意が必要

test_list = [ 200, 100, 300]

print(test_list.sort())
# None

組み込み関数sorted(): 新たにsortされたリストを生成

組み込み関数 — Python 3.10.4 ドキュメント
test_list = [ 200, 100, 300]

new_test_list = sorted(test_list)

print(test_list)
# [200, 100, 300]
print(new_test_list)
# [100, 200, 300]

sorted() の方は、listの他にも任意のイテラブルに対しても使用することができます。

dict_sort = sorted({100: 'D', 300: 'B', 200: 'B'})
print(dict_sort)
# [100, 200, 300]

tuple_sort = sorted((300, 200, 100))
print(tuple_sort)
# [100, 200, 300]

コメント

タイトルとURLをコピーしました