İçeriğe atla
CodeItRaw
Sıralama

Ders 1/5

Python'da sıralamak tek satırdır: sorted(values) yeni, sıralı bir liste verir; values.sort() listeyi yerinde sıralar ve hiçbir şey döndürmez. Asıl güç key parametresindedir: her elemandan neye göre sıralanacağını söyleyen bir değer üretirsin.

people = [("Ece", 31), ("Can", 25), ("Ada", 31)]
sorted(people, key=lambda p: p[1])
# [("Can", 25), ("Ece", 31), ("Ada", 31)]
sorted(people, key=lambda p: (-p[1], p[0]))
# [("Ada", 31), ("Ece", 31), ("Can", 25)]
İlk sıralama yaşa göredir ve eşit yaştakiler geldikleri sırada kalır (Python'un sıralaması kararlıdır). İkincisinde anahtar bir çifttir: önce yaşa göre azalan (eksi işareti), eşitlikte ada göre artan.

Değerler yalnızca birkaç çeşitse (0, 1 ve 2 gibi) karşılaştırarak sıralamaya gerek yoktur: her değerden kaç tane olduğunu say, sonra o kadarını sırayla yaz. Bu tek geçiştir ve n log n'lik genel sıralamadan hızlıdır.

Görevler

Görevler sırayla açılır. Hepsini çözünce sonraki ders açılır.

Bu dersin görevleri, önceki dersler bitince açılır. Anlatımı şimdiden okuyabilirsin.

  1. 01

    Anahtarla Sıralama

    Kod Okuma · Çıktıyı Tahmin Et

  2. 02

    Renkleri Sırala

    Fonksiyon

Sırayı beklemeden çözmek istersen bütün problemler kilitsiz açık: Problemler listesi