Aralarındaki birkaç fark şunlardır:
1- sort metodu tuple ve dict veri tiplerini parametre olarak alamıyorken, sorted metodu alabiliyor.
2- sort metodu verilen parametresi sıraladıktan sonra geriye değiştirilmiş bir liste döndürür. Yani mesela bir listeyi parametre olarak verdiniz. Verdiğiniz listenin ilk halini kaybetmiş olursunuz. sorted metodu ise sort metodunun aksine listeyi geçici bir süreliğine sıralar. Aşağıda örnek kodu inceleyin:
liste = [3, 4, 5, 1, 2]
# Listemizi sıralayıp ilk halini
# görmeye çalışalım.
liste.sort()
print(liste)
# [1, 2, 3, 4, 5]
#Listemizin ilk halini kaybettik.
print("-"*15)
#Şimdi sorted() metoduyla değiştirelim
sorted(liste)
print(liste)
#[3, 4, 5, 1, 2]
#Listemizin orijinali halen elimizde```
sorted metodu argüman olarak aldığı veri tipini list tipinde döndürür. Bu iki metodu birbiriyle kıyaslamak olmaz, yerine göre birbirinden üstünlükleri olabilir.
sort, list sinifinin bir fonksiyonu (metodu) ve parametre almiyor. sorted ise hic bir sinifa ait olmayan (metod olmayan) bir fonksiyon.
sort metodu bir sey dondurmuyor; uzerinde calistigi listeyi modifiye ediyor. sorted fonksiyonu ise parametre olarak aldigi iterable’in sort edilmis halini yeni bir liste olarak donduruyor. Donen listenin orijinal veriden (veya baska herhangi bir degerden) daha gecici bir hali yok.