Python'da bir listeyi sıralamak çok kolaydır. İki temel yol vardır: sort() metodu ve sorted() fonksiyonu. Aralarındaki en önemli fark şudur: sort() listeyi kalıcı olarak değiştirir, sorted() ise yeni bir sıralı liste döndürür ve orijinali bozmaz.
1) sort() ile yerinde sıralama
sayilar = [5, 2, 9, 1, 7]
sayilar.sort()
print(sayilar) # [1, 2, 5, 7, 9]
# Büyükten küçüğe:
sayilar.sort(reverse=True)
print(sayilar) # [9, 7, 5, 2, 1]
2) sorted() ile yeni liste
sayilar = [5, 2, 9, 1, 7]
sirali = sorted(sayilar)
print(sirali) # [1, 2, 5, 7, 9]
print(sayilar) # [5, 2, 9, 1, 7] (orijinal bozulmadı)
3) Metne veya uzunluğa göre sıralama (key)
key parametresi ile neye göre sıralayacağını seçebilirsin:
kelimeler = ['elma', 'muz', 'kivi', 'portakal']
# Uzunluğa göre:
print(sorted(kelimeler, key=len)) # ['muz', 'kivi', 'elma', 'portakal']
Sözlük listelerini bir alana göre sıralamak için de key=lambda x: x['yas'] gibi bir ifade kullanılır. Kuzey Kutbu'nun Python dersleri ile bunu adım adım pratik yapabilirsin.