Python’da bir listeyi artan veya azalan düzende sıralamanın iki yolu vardır.
sort()
sorted()
Bir dizeyi veya demeti sıralamak istiyorsanız, sorted() öğesini kullanın.
Aşağıdaki bilgiler burada verilmiştir.
- Orijinal listeyi sıralayan bir tür listesi yöntemi
sort()
- Yeni bir sıralanmış liste oluşturun, yerleşik işlev: .
sorted()
- Dizeler ve demetler nasıl sıralanır
Orijinal listeyi sıralamak, list tipinin bir yöntemidir: sort()
sort() bir liste türü yöntemidir.
Orijinal listenin yeniden yazıldığı yıkıcı bir süreç.
org_list = [3, 1, 4, 5, 2]
org_list.sort()
print(org_list)
# [1, 2, 3, 4, 5]
sort() öğesinin None döndürdüğünü unutmayın.
print(org_list.sort())
# None
Varsayılan artan düzendir. Azalan düzende sıralamak istiyorsanız, ters argümanı true olarak ayarlayın.
org_list.sort(reverse=True)
print(org_list)
# [5, 4, 3, 2, 1]
Yeni bir sıralanmış liste oluşturun, yerleşik işlev: sorted()
sort() yerleşik bir işlevdir.
Sıralanacak liste bağımsız değişken olarak belirtildiğinde sıralanmış bir liste döndürür. Bu, orijinal listeyi değiştirmeyen tahribatsız bir süreçtir.
org_list = [3, 1, 4, 5, 2]
new_list = sorted(org_list)
print(org_list)
print(new_list)
# [3, 1, 4, 5, 2]
# [1, 2, 3, 4, 5]
sort() ile olduğu gibi, varsayılan artan düzendir. Azalan düzende sıralamak istiyorsanız, ters argümanı true olarak ayarlayın.
new_list_reverse = sorted(org_list, reverse=True)
print(org_list)
print(new_list_reverse)
# [3, 1, 4, 5, 2]
# [5, 4, 3, 2, 1]
Dizeler ve demetler nasıl sıralanır
Dizeler ve demetler değişmez olduğundan, orijinal nesneyi yeniden yazmak için sort() yöntemi yoktur.
Öte yandan, yeni bir nesne olarak sıralanmış bir liste oluşturan sorted() işlevinin argümanı bir liste olabileceği gibi bir dize veya demet olabilir. Ancak, sort() bir liste döndürdüğünden, bir dizeye veya demete dönüştürülmesi gerekir.
Dizeleri sıralama
sorted() işlevinin argümanı olarak bir dize belirtildiğinde, sıralanan dizenin her karakterinin bir öğe olarak depolandığı bir liste döndürülür.
org_str = 'cebad'
new_str_list = sorted(org_str)
print(org_str)
print(new_str_list)
# cebad
# ['a', 'b', 'c', 'd', 'e']
Bir dize listesini tek bir dizede birleştirmek için join() yöntemini kullanın.
new_str = ''.join(new_str_list)
print(new_str)
# abcde
Azalan düzende sıralamak istiyorsanız, ters argümanı true olarak ayarlayın.
new_str = ''.join(sorted(org_str))
print(new_str)
# abcde
new_str_reverse = ''.join(sorted(org_str, reverse=True))
print(new_str_reverse)
# edcba
Bir dizenin boyutu, karakterin Unicode kod noktası (karakter kodu) tarafından belirlenir.
sıralama grupları
Tuple’lar, stringler ile aynıdır; sorted() işlevinin argümanı olarak bir tanımlama grubu belirtmek, sıralanmış bir öğe listesi döndürür.
org_tuple = (3, 1, 4, 5, 2)
new_tuple_list = sorted(org_tuple)
print(org_tuple)
print(new_tuple_list)
# (3, 1, 4, 5, 2)
# [1, 2, 3, 4, 5]
Bir listeyi bir demete dönüştürmek için tuple() kullanın.
new_tuple = tuple(new_tuple_list)
print(new_tuple)
# (1, 2, 3, 4, 5)
Azalan düzende sıralamak istiyorsanız, ters argümanı true olarak ayarlayın.
new_tuple = tuple(sorted(new_tuple_list))
print(new_tuple)
# (1, 2, 3, 4, 5)
new_tuple_reverse = tuple(sorted(new_tuple_list, reverse=True))
print(new_tuple_reverse)
# (5, 4, 3, 2, 1)