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]
コメント