Pythonのsort()メソッドとsorted()関数の違い
1217 ワード
クラスの中はメソッドと呼ばれ、クラスの外は関数と呼ばれます. sort()はPythonリストに組み込まれたソート方法でありlist.sort()メソッドのソート時に元のリストを直接変更し、Noneを返します.メソッドsort()リストを永続的にソートする sorted()はPythonに内蔵されたソート関数で、反復器から順序付けされた新しいリストが返され、受信する必要があり、直接印刷することもできます.関数sorted()リストを一時的にソートする sort()はリストの1つの方法にすぎず、リストにのみ適用され、sorted()関数はすべての反復器を受け入れ、秩序あるコピーを返し、タイプは常にリストである.sort()よりもsorted()の使用範囲は広いですが、元のリストを保持する必要がなければsortの方が効果的です.
=========sort() , ==============
li=['sfdf','dfs','fdsw','tre','yhgfth']
li.sort()
print(li)
['dfs', 'fdsw', 'sfdf', 'tre', 'yhgfth']
==========sorted() , ===============
li=['sfdf','dfs','fdsw','tre','yhgfth']
print(sorted(li))
print(li)
['dfs', 'fdsw', 'sfdf', 'tre', 'yhgfth']
['sfdf', 'dfs', 'fdsw', 'tre', 'yhgfth']
# li
================= sort() =================
li=(78,3,65,34,135)
li.sort()
AttributeError: 'tuple' object has no attribute 'sort'
===============sorted() ================
li=(78,3,65,34,135)
print(sorted(li))
[3, 34, 65, 78, 135]