Python'da Liste Nasıl Sıralanır (Artan ve Azalan)
Python'da sort() yöntemini ve sorted() işlevini kullanarak bir listeyi nasıl sıralayacağınızı öğrenin. Özel anahtar sıralama ve ters sıralama örneklerini keşfedin.
Genel Bakış
Verileri sıralamak, ister kullanıcı profillerini yaşa göre sıralıyor, ister ürünleri fiyata göre listeliyor, ister arama sonuçlarını düzenliyor olun, programlamadaki en yaygın görevlerden biridir. Python, listeleri sıralamak için iki yerleşik, yüksek düzeyde optimize edilmiş yöntem sunar: 'list.sort()' yöntemi ve 'sorted()' işlevi. Her ikisi de, O(N log N) zaman karmaşıklığında çalışan, Timsort adı verilen oldukça verimli bir sıralama algoritması kullanıyor.
İkisi arasındaki temel fark değişebilirliktir. 'list.sort()' yöntemi, listeyi yerinde sıralar, yani doğrudan orijinal listeyi değiştirir ve 'Yok'u döndürür. Öte yandan, 'sorted()' işlevi orijinal listeyi değiştirmeden bırakır ve yepyeni bir sıralanmış liste döndürür. Bu ayrım çok önemlidir: bellekten tasarruf etmek istediğinizde ve orijinal sıraya ihtiyacınız olmadığında `sort()'u kullanın ve orijinal listeyi olduğu gibi tutmanız gerektiğinde veya tuples veya sözlükler gibi liste dışı yinelenebilirleri sıralarken `sorted()`u kullanın.
Her iki sıralama yöntemi de iki isteğe bağlı anahtar kelime bağımsız değişkenini kabul eder: 'tersine' ve 'anahtar'. 'Ters' argümanı bir boole değeridir; 'Doğru' olarak ayarlanması listeyi azalan (tersine) sırada sıralar. 'Anahtar' argümanı, karşılaştırmadan önce her öğeye uygulanan bir işlevi kabul eder. Bu, bir dizi listesini uzunluklarına göre sıralamak veya bir sözlük listesini belirli bir anahtara göre sıralamak gibi karmaşık sıralama mantığına olanak tanır.
Kod ve Yürütme Çıkışı
Bu kod, hem sort() hem de sort() kullanarak bir sayı listesinin sıralanmasını, ters sıralamayı ve dize uzunluğuna göre özel anahtar sıralamasını gösterir.
numbers = [42, 7, 12, 89, 23]
# 1. Using sorted() (returns new list)
new_sorted = sorted(numbers)
print("Original:", numbers)
print("Sorted new list:", new_sorted)
# 2. Using sort() (in-place modification)
numbers.sort()
print("Modified original list:", numbers)
# 3. Sorting in reverse (descending)
numbers.sort(reverse=True)
print("Reverse sorted list:", numbers)
# 4. Custom sorting (by string length)
words = ["banana", "pear", "apple", "fig"]
words.sort(key=len)
print("Sorted by length:", words)Original: [42, 7, 12, 89, 23]
Sorted new list: [7, 12, 23, 42, 89]
Modified original list: [7, 12, 23, 42, 89]
Reverse sorted list: [89, 42, 23, 12, 7]
Sorted by length: ['fig', 'pear', 'apple', 'banana']Adım Adım Uygulama
- Orijinal verileri değiştirmeden listenin bir kopyasını sıralamak için sorted() işlevini kullanın.
- Yerinde değişiklik yapmak ve bellekten tasarruf etmek için liste nesnesinde doğrudan .sort() yöntemini kullanın.
- Öğeleri azalan düzende sıralamak için parametre olarak ters=True değerini iletin.
- Öğeleri özel bir özelliğe (uzunluk veya iç içe geçmiş değerler gibi) göre sıralamak için key=lambda x: ... öğesini kullanın.
Sıkça Sorulan Sorular
list.sort() ve sorted() arasındaki fark nedir?
list.sort(), listeyi yerinde değiştirir ve Yok değerini döndürür; sorted() ise orijinal listeyi değiştirmeden bırakır ve yeni bir sıralanmış liste döndürür.
Bir sözlük listesini bir anahtara göre nasıl sıralarsınız?
Anahtar parametresini bir lambda işleviyle veya operatör.itemgetter ile kullanın. Örneğin: list.sort(anahtar=lambda öğe: öğe["yaş"]).
İlgili Konular
Len() işlevini kullanarak Python'da bir listenin uzunluğunu nasıl bulacağınızı öğrenin. O(1) zaman karmaşıklığını ve kontrol sayımlarını anlayın.
Python'da Bir Listeden Yinelenenler Nasıl KaldırılırSırayı korurken veya yok sayarken Python'da bir listedeki kopyaları nasıl kaldıracağınızı öğrenin. Ayarlanmış dönüşümleri, dikte anahtarlarını ve döngü yöntemlerini karşılaştırın.
Python'da İki Liste Nasıl BirleştirilirPython'da iki listeyi birleştirmenin ve birleştirmenin en iyi yollarını öğrenin. Artı operatörünü, genişletme yöntemini, liste açmayı ve zincirleme seçeneklerini karşılaştırın.
Önerilen Python Kaynakları
İlgili etkileşimli eğitimler, yardımcı sayfalar ve kod karşılaştırmalarıyla bilginizi genişletin.
Python Değişkenleri ve Veri Türlerinin Açıklaması
Python değişkenlerini ve temel veri türlerini (dizeler, tamsayılar, kayan noktalar, boolean'lar) anlayın. Python'da hafıza atamaya yönelik eksiksiz bir başlangıç kılavuzu.
Python Liste Yöntemleri Hile Sayfası
Python liste işlemleri için hızlı başvuru kılavuzu. Öğeleri ekleme, ekleme, çıkarma, sıralama ve dilimleme konusunda uzmanlaşın.
Python vs JavaScript: Hangi Programlama Dili En İyisidir?
Python ve JavaScript arasında kapsamlı bir karşılaştırma. Sözdizimi farklılıklarını, performansı, kullanım örneklerini (arka uç ve ön uç) ve kodlama örneklerini keşfedin.