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)]
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.