logo

Python'da Tuple Nasıl Sıralanır

Tuplelar, birden fazla nesneyi tek bir yerde saklamamıza olanak tanıyan bir değişkenin veri türüdür. Bir demet, sıralı ve değişmez (bir demet içindeki öğeleri güncelleyemeyiz) bir öğe koleksiyonudur. Öğeleri depolamak için 4 yerleşik Python veri yapısı vardır; bunlardan biri bir Tuple, diğerleri ise Liste, Sözlük ve Küme'dir ve her birinin kendi özellikleri ve kullanımı vardır. Yuvarlak parantez içinde yazılırlar.

Python'da Tuple'ı Sıralamak

sort()'u kullanma

sort() yöntemi genellikle bir listenin öğelerini artan düzende sıralamak için kullanılır; ilk öğe varsayılan olarak sıralanır. Bir tuple'ı önce listeye dönüştürerek sıralayabilir, sonra bu fonksiyonu uygulayabiliriz. Bu işlev listeyi yerinde sıralar ve Yok değerini döndürür.

Giriş

 tuple_ = ('Itika', 'Arshia', 'Peter', 'Parker') list(tuple_).sort() print(tuple_) print(type(tuple_)) 

Çıktı:

 ('Itika', 'Arshia', 'Peter', 'Parker') 

sorted()'ı kullanma

Python'da bir Tuple'ı sıralamak için sorted() yerleşik işlevini kullanın. Tuple sorted() fonksiyonuna argüman olarak iletilmelidir. Demet öğeleri, işlevin döndürdüğü listede (varsayılan olarak) artan sırada sıralanır. Bu liste veri türünü bir Tuple ()'a dönüştürmek için bir Tuple kullanabiliriz.

sorted() işlevinin ters parametresi de sıralama düzenini belirtebilir. Artan, varsayılan sıralama düzenidir. Ters=Doğru ayarlandığında öğeler azalan düzende sıralanır. Ayrıca, döndürülen değerleri öğeleri sıralamak için kullanılan bir anahtar işlevi de belirtebiliriz. Aşağıdaki programda tamsayı değerlerine sahip bir tuple, tuple_ alıyoruz ve onu artan düzende sıralıyoruz.

topolojiler

Giriş

 tuple_ = (5, 2, 24, 3, 1, 6, 7) sorted_ = tuple(sorted(tuple_)) print('Sorted Tuple :', sorted_) print(type(sorted_)) 

Çıktı:

 Sorted Tuple : (1, 2, 3, 5, 6, 7, 24) 

Şimdi aynı fonksiyonu kullanarak tuple'ı azalan düzende sıralıyoruz. Demeti azalan düzende sıralamak için sorted() işlevine ters=True iletin.

Giriş

Java'da dize işlevleri
 tuple_ = (5, 2, 24, 3, 1, 6, 7) sorted_ = tuple(sorted(tuple_, reverse=True)) print('Sorted Tuple :', sorted_) print(type(sorted_)) 

Çıktı:

 Sorted Tuple : (24, 7, 6, 5, 3, 2, 1) 

Bir Tuple'ı Anahtar İşleve Göre Sıralama

Anahtar, bir değer alan ve bir değer döndüren bir fonksiyondur. Tuple'daki öğelerin her biri için bu tuş işlevi uygulanır ve döndürülen değer, öğeleri sıralamak amacıyla karşılaştırma yapmak için kullanılır. Aşağıdaki programda, dizeleri dizelerin uzunluğuna göre sıralıyoruz. Bu durumda len() yerleşik fonksiyonunu anahtar olarak kullanabiliriz.

Giriş

 tuple_ = ('abhd', 'sbchcwsc', 'sjs', 'sxshs') sorted_ = tuple(sorted(tuple_, key=len)) print('Sorted Tuple :', sorted_) print(type(sorted_)) 

Çıktı:

 Sorted Tuple : ('sjs', 'abhd', 'sxshs', 'sbchcwsc') 

Tuple'ların Sıralama Listesi

sorted()'ı kullanma

Python'da bir listeyi tuple kullanarak nasıl sıralayacağımıza bakalım. Aşağıdaki senaryoyu düşünün: Tuple'ların listesini sıralamak istiyoruz. Tuple'ları bize verilen herhangi bir anahtara göre sıralamalıyız. Bu, öğeleri bir anahtar kullanarak sıralayan ve verilen demetleri sıralamak için anahtar dizinini saklayan sorted() işlevi kullanılarak gerçekleştirilebilir. Bu yaklaşımın Python uygulaması aşağıdaki gibidir:

Giriş

 # Sorting list of tuples according to a key def middle(n): return n[1] # function to sort the tuple def sort(list_of_tuples): return sorted(list_of_tuples, key = middle) # driver code list_ = [(34, 21, 56), (24, 12, 32), (42, 34, 42), (27, 11, 32)] print('Sorted list of Tuples:'), print(sort(list_)) 

Çıktı:

 Sorted list of Tuples: [(27, 11, 32), (24, 12, 32), (34, 21, 56), (42, 34, 42)] 

Kabarcık Sıralamasını Kullanma

Kabarcık sıralaması, herhangi bir sayıda öğeden oluşan bir listeyi sıralamak için kullanılan bir sıralama algoritmasıdır. Belirli bir listedeki bitişik öğeler yanlış sıradaysa bunları değiştirir. Daha sonra tüm öğeler sıralanana kadar bu işlemi tekrarlar.

Bu örnekte, bir demet listesini sıralamak için kabarcık sıralama algoritmasını kullanacağız.

Giriş

 roll = [('Arshia', 26), ('Itika', 53), ('Peter', 82), ('Parker', 74), ('MJ', 45)] first = 0 last = len(roll) for k in range(0, last): for l in range(0, last-k-1): if (roll[l][first] > roll[l + 1][first]): new_item = roll[l] roll[l]= roll[l + 1] roll[l + 1]= new_item print(roll) 

Çıktı:

ayrık matematik olumsuzluğu
 [('Arshia', 26), ('Itika', 53), ('MJ', 45), ('Parker', 74), ('Peter', 82)]