Python での sort() と sorted() の違い


ソートとは、特定のシーケンスを再配置する行為です. Python では、組み込みメソッド sort() および sorted() を使用してソートを簡単に行うことができます.
. sorted() および sort() メソッドは、指定されたシーケンスを昇順または降順でソートします.
これら 2 つの方法は同じタスクを実行しますが、まったく異なります.
-> ソート済み():
構文:

sorted(iterable, key, reverse=False)


このメソッドは、元のシーケンスに変更を加えます. (例-1、行-13 を参照)

戻り値の型: 戻り値なし、戻り値なし (例-1、行-12 を参照)

->ソート():
sort() 関数は sorted() と非常によく似ていますが、何も返さず、元のシーケンスに変更を加えるため、sorted 関数とは異なります.
sort() は list クラスのメソッドなので、リストでのみ使用できます.
構文:

List_name.sort(key, reverse=False)


例-1:

# based on alphabetical order of first letter
courts=["Supreme","High","District"]
print(" the original list :",courts)

# using sorted()
new_list=sorted(courts)
print("using_sorted():",new_list)#returns a sorted list
print("aft_sorting_lst",courts)#doesn't change original list

#using sort()
k=courts.sort()
print("using_sort():",k)#returns Nothing
print("aft_sort_lst:",courts) #changes the original list


出力:

元のリスト: ['Supreme', 'High', 'District']
using_sorted(): ['区', '高', '最高']
aft_sorting_lst ['Supreme', 'High', 'District']
using_sort(): なし
aft_sort_lst: ['区', 'ハイ', 'スプリーム']
例-2:

#Using diff datatypes sorting through sorted() method

courts=["Supreme","High","District"]
print(sorted(courts))#list
courts=("Supreme","High","District")#tuple
print(sorted(courts))
courts="high"#string
print(sorted(courts))
courts={'Supreme':1,'High':2,'District':3}#dictionary
print(sorted(courts))
courts={"Supreme","High","District"}#sets
print(sorted(courts))

#sort() is used only for lists
#print("using sort():",courts.sort())
#  attribute error


出力:
[「地区」、「高」、「最高」]
[「地区」、「高」、「最高」]
['g', 'h', 'h', 'i']
[「地区」、「高」、「最高」]
[「地区」、「高」、「最高」]