Python’da bir liste sıralama: sıralanmış ve sıralanmış arasındaki fark

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öntemisort()
  • 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)
Copied title and URL