Yerleşik sıralama yöntemleri
Python,
sorted()
ve
sort()
adlı yerleşik bir hızlı sıralama işlevine sahiptir.
Timsort
.
Yerleşik sıralama işlevlerini kullanmayı düşünün.
1) Artan düzende sıralanmış
A
dizisiyle eşleşen yeni bir
B
dizisi alma (varsayılan olarak, artan düzende sıralama):
B = sıralanmış(A)
2) Azalan düzende sıralanan A
dizisiyle eşleşen yeni bir B
dizisi elde etmek:
B = sıralanmış(A, ters = Doğru)
ters - İngilizce'den çevrilmiştir "ters".
3) Standart dışı sıralama yapmak için bir sıralama anahtarı gereklidir - bağımsız değişken key
.
Bir sayının son basamağına göre artan düzende sıralamak için tuş, sayının son basamağı olacaktır.
Bunu yapmak için, gerekli anahtarı bize döndürecek bir işlev yazmanız gerekir - bizim durumumuzda, sayının son basamağı.
# sıralama anahtarını döndüren bir işlev
# - sayının son basamağı
def sonSayı(n):
dönüş n%10
B = sıralanmış(A, anahtar = sonSayı)
4) lambda işlevi - işlevini ad olmadan kullanmak.
Basitliği nedeniyle ayrı bir fonksiyon yazmak istemiyorsanız, lambda fonksiyonlarını kullanabilirsiniz. Bu tür işlevler, key
parametresinde çağrıldığında doğrudan yazılır.
B = sıralanmış(A, anahtar = lambda x: x % 10)
5) Diziyi "yerinde" sıralamanız gerekiyorsa (fazladan bir dizi ayırmadan), sort()
yöntemini kullanmak daha iyidir.
yöntemi
Örneğin, A
dizisini son haneye göre azalan düzende sıralamak şöyle görünür:
A.sort(key = lambda x: x % 10, reverse = True)