sorted() ve key İşlevi
Sayıları, dizeleri ve demetleri sıralayın.
sorted() ve key İşlevi, CoddyKit'te ücretsiz bir Competitive Programming Academy dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Competitive Programming Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Competitive Programming Academy kursu toplamda 4 dersten oluşur.
Sıralama Yarışmaları Kazandırır
Veriler sıralı hâle geldiğinde birçok yarışma problemi kolaylaşır. İlk aracınız, yeni ve sıralı bir liste döndüren sorted() işlevidir. 🏆
sorted() Bir Kopya Döndürür
sorted(nums) çağrısı özgün listeye dokunmaz ve size yeni bir sıralı liste verir. Girdiye daha sonra hâlâ ihtiyaç duyduğunuzda bu çok kullanışlıdır.
nums = [3, 1, 2]
print(sorted(nums)) # [1, 2, 3]
print(nums) # [3, 1, 2]list.sort() Yerinde Sıralar
Özgün sıraya ihtiyacınız yoksa list.sort() listeyi yerinde sıralar ve None döndürür. Büyük dizilerde bellek tasarrufu sağlar.
nums = [3, 1, 2]
nums.sort()
print(nums) # [1, 2, 3]Varsayılan Sıra Artandır
Python, varsayılan olarak küçükten büyüğe sıralar. Sayılar küçükten büyüğe gider; dizeler ise karakter karakter sözlük sırasına göre sıralanır.
print(sorted(["pear", "apple", "kiwi"]))
# ['apple', 'kiwi', 'pear']reverse ile Tersine Çevirin
Büyükten küçüğe sıralamak için reverse=True geçirin. Açgözlü bir adımın önce en büyük öğelere ihtiyaç duyduğu durumlar için idealdir.
print(sorted([3, 1, 2], reverse=True))
# [3, 2, 1]key İşleviyle Tanışın
key bağımsız değişkeni, sort işlemine her öğeyi nasıl sıralayacağını söyler. Python, key'i her öğe için çağırır ve döndürülen değerlere göre sıralar.
words = ["bb", "a", "ccc"]
print(sorted(words, key=len))
# ['a', 'bb', 'ccc']lambda ile key
Küçük bir lambda, satır içinde istediğiniz ifadeye göre sıralama yapmanızı sağlar. Burada sayıları sıfıra olan uzaklıklarına göre sıralıyoruz.
vals = [-5, 2, -1, 3]
print(sorted(vals, key=lambda x: abs(x)))
# [-1, 2, 3, -5]Nesneleri Bir Alana Göre Sıralayın
Demetler veya kayıtlarla çalışırken key değerini önemli olan alana yönlendirin. Öğenin geri kalanı da herhangi bir ek işlem yapmadan birlikte taşınır.
people = [("Ann", 30), ("Bob", 25)]
print(sorted(people, key=lambda p: p[1]))
# [('Bob', 25), ('Ann', 30)]Sıralama Kararlıdır
Python sıralaması kararlıdır: eşit key değerleri özgün göreli sıralarını korur. Böylece eşitlikleri güvenle çözmek için sıralamaları katmanlayabilirsiniz.
key Elle Karşılaştırmaktan İyidir
Bir key her öğe için bir kez hesaplanır; bu nedenle büyük girdilerde de hızlı kalır. Öğeleri kendiniz değiştirmek yerine bunu kullanın.
Sıralamanın Maliyeti O(n log n)
Python, sıralamayı O(n log n) zamanda yapar. n birkaç yüz bine kadar olduğunda bu işlem bir saniyelik süre sınırına rahatça sığar.
Hızlı Kontrol
Özgün listeyi korurken listenin sıralanmış olmasını istiyorsunuz.
Özet
Verileri sorted() ile sıralayabilir veya listeyi yerinde sort edebilirsiniz; reverse ile yönü değiştirebilir ve key kullanarak her şeyi sıralayabilirsiniz. Kararlı sıralama, eşit değerlerin düzenini korur. 🎉
Sıkça Sorulan Sorular
“sorted() ve key İşlevi” dersi ücretsiz mi?
Evet — “sorted() ve key İşlevi” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Competitive Programming Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Competitive Programming Academy kursu toplamda 4 dersten oluşur.
“sorted() ve key İşlevi” dersinde ne öğreneceğim?
Sayıları, dizeleri ve demetleri sıralayın. Competitive Programming Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Competitive Programming Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Competitive Programming Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.
“sorted() ve key İşlevi” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Competitive Programming Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Competitive Programming Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- sorted() ve key İşlevi
- Birden Çok Alana Göre Sıralama
- functools.cmp_to_key ile Özel Sıralama
- Önce Sıralamanın Çözümlerin Önünü Açması