Python Örneklerle sort()'u listeleyin
⚡ Akıllı Özet
Python `list sort()` fonksiyonu, bir listenin elemanlarını varsayılan olarak artan sırada veya `reverse` parametresiyle azalan sırada sıralar; isteğe bağlı bir `key` fonksiyonu ise uzunluk, demet alanları veya kullanıcı tanımlı fonksiyonlar gibi özel kriterlere göre sıralama yapar.

sort() yöntemi nedir? Python?
sort() fonksiyonu Python Bir listeyi artan veya azalan sırada sıralamaya yardımcı olur. Sayısal listeleri, demetleri ve metin listelerini sıralamak için kullanılabilir. Ayrı bir liste oluşturmaz, orijinal listeyi değiştirir veya sıralar.
Sıralama yönteminin söz dizimi Python
Sıralama fonksiyonunun sözdizimi şu şekildedir:
List.sort(key=…, reverse=…)
Sıralama fonksiyonunun iki isteğe bağlı parametresi vardır:
- Anahtar: - Bu, bir sıralama kriterine göre bir işlevi sıralamak için kullanılır.
- Reverse: – Bu parametre true veya false değerini alır. Eğer true ise, bu özel fonksiyon listeyi azalan sırada sıralar.
Sıralama yöntemini kullanarak bir listeyi artan düzende sıralamak Python
In Pythonsıralama işlevi varsayılan olarak herhangi bir listeyi artan düzende sıralar. Artan sırada bir listenin sol tarafında en düşük değer, sağ tarafında ise en yüksek değer bulunur.
Örnek:
Python Kod:
base_list=["Google","Reliance","Guru99","Content","Syntax"] base_list.sort() print("the base list after sorting is",base_list)
Çıktı:
the base list after sorting is ['Content', 'Google', 'Guru99', 'Reliance', 'Syntax']
Code Açıklama:
- Yukarıdaki liste rastgele tanımlanmış bir dize listesidir.
- Sıralama işlevi Python Kelimenin en kısa uzunluğu sol tarafta ve kelimenin en uzun uzunluğu sağ tarafta olacak şekilde rastgele listenin artan sırada sıralanmasına yardımcı olur.
Listeyi azalan düzende sıralama
Sıralama işlevi ayrıca bir listenin azalan düzende sıralanmasına da olanak tanır. Sipariş olarak tanımlanabilir listenin en yüksek değerle başlayıp en düşük değerle bittiği yer.
Sıralama fonksiyonunun ters parametresi, azalan düzende sıralanmış bir liste elde etmek için true olarak atanır.
Aşağıdaki örneğe bakalım:
Python Kod:
base_list=[100,600,400,8000,50] base_list.sort() print("the base list after sorting is",base_list) # Reverse Order base_list.sort(reverse=True) print("the base list after REVERSE sorting is",base_list)
Çıktı:
the base list after sorting is [50, 100, 400, 600, 8000] the base list after REVERSE sorting is [8000, 600, 400, 100, 50]
Not: Çalışma zamanı hatalarından kaçınmak için ters parametreye "True" kelimesinin atanmasının büyük "T" harfiyle başladığından emin olun.
Sıralama yöntemini kullanarak bir demet listesini sıralama Python
Python tuples sıralı bir sırayı takip eden değişmez öğelerin koleksiyonlarıdır. Python'ın sort işlevi, özelleştirilmiş bir işlev ve lambda ifadesi kullanarak bir demetler listesini sıralamak için kullanılabilir.
İsimsiz olarak da özelleştirilmiş bir fonksiyon oluşturulabilir ve bu fonksiyon lambda ifadesiyle temsil edilebilir. Lambda ifadesinin sözdizimi aşağıdaki gibidir:
Sözdizimi:
Lambda arguments: expression
Yukarıdaki sözdizimi aşağıdaki python koduna eşdeğerdir:
def name (arguments): return expression
İşte, anahtar parametrelere sahip bir sıralama fonksiyonunun bir demetteki öğeleri nasıl sıraladığını göstermek için bir demet ve özelleştirilmiş fonksiyon örneği:
Python Kod:
base_list = [('Alto', 2020, 500),('MSFT', 2022, 300),('Guru99', 2019, 1070)] def get_key(base_list): return base_list[2] base_list.sort(key=get_key,reverse=True) print("The change in base list is as follows",base_list)
Çıktı:
The change in the base list is as follows [('Guru99', 2019, 1070), ('Alto', 2020, 500), ('MSFT', 2022, 300)]
Code Açıklama:
- Tuple'ı azalan düzende sıralamak için ters parametre true olarak tanımlanır.
- Özelleştirilmiş işlev, tuple'ın ikinci öğesini alır.
- Bu, sıralama fonksiyonunun anahtarı olarak kullanılır.
Lambda ifadesinin kullanıldığı aşağıdaki örneğe bakalım:
Python Kod:
base_list = [('Alto', 2020, 500), ('MSFT', 2022, 300), ('Guru99', 2019, 1070)] base_list.sort(key=lambda base_list:base_list[2],reverse=True) print("The change in base list is as follows",base_list)
Çıktı:
The change in the base list is as follows [('Guru99', 2019, 1070), ('Alto', 2020, 500), ('MSFT', 2022, 300)]
Açıklama:
- Lambda ifadesi, tuple'ın ikinci elemanı olan anahtar ile demet elemanlarını yüksekten düşüğe doğru sıralamanıza yardımcı olur.
- Program, tuple'ın ikinci elemanının en yüksek değerini kontrol edecektir.
Len'i anahtar parametre olarak kullanarak liste öğelerini sıralama
Len, öğenin uzunluğunu belirleyen yerleşik bir fonksiyondur. Belirlenen uzunluk, sıralama fonksiyonunda indeksleme için kullanılabilir. Bunu yapmak için, Len'i şuna atarız: Python sıralama fonksiyonunun anahtar parametresi.
Aşağıdaki Python kod, Len işlevinin sıralama işleviyle nasıl kullanılacağını gösterir.
Python Code:
base_list=["Alto", "Guru99", "Python", "Google", "Java"] base_list.sort(key=len) print("The sorted list based on length:",base_list)
Çıktı:
The sorted list based on length: ['Alto', 'Java', 'Guru99', 'Python', 'Google']
Code Açıklama:
- Öğenin uzunluğu, listeyi artan sırada düzenlemek için anahtar parametre için bir dizin haline gelir.
- Len işlevi, temel listede bulunan her öğenin uzunluğunu tahmin eder.
- En kısa elemanı sol tarafta, en büyük elemanı ise sağ tarafta tutar.
- Burada, alto ve java kelimelerinin uzunlukları 4'tür ve listede ilk sırada yer alırlar, ardından diğerleri gelir. Guru99, uzunluğu 6 olan bir sayıdır.
Bu örnek, sıralama fonksiyonundaki ters parametre kavramını aşağıdaki gibi göstermektedir:
Python Code:
base_list=["Alto", "Guru99", "Python", "Google", "Java"] base_list.sort(key=len,reverse=True) print("The sorted list based on length:",base_list)
Çıktı:
The sorted list based on length: ['Guru99', 'Python', 'Google', 'Alto', 'Java']
Kullanıcı tanımlı işlevi anahtar parametre olarak kullanarak liste öğelerini sıralama
Listeyi sıralamak için kullanıcı tanımlı bir fonksiyonu anahtar parametre olarak da kullanabilirsiniz. İşte bir örnek:
Python Code:
base_list = [{'Example':'Python','year':1991},{'Example':'Alto','year':2014},{'Example':'Guru99', 'year':1995},
{'Example':'Google','year':1985},{'Example':'Apple','year':2007},{'Example':'Emails','year':2010},]
def get_year(element):
return element['year']
base_list.sort(key=get_year)
print("The base list after sorting using explicit criteria",base_list)
Çıktı:
The base list after sorting using explicit criteria [{'Example': 'Google', 'year': 1985}, {'Example': 'Python', 'year': 1991}, {'Example': 'Guru99', 'year': 1995}, {'Example': 'Apple', 'year': 2007}, {'Example': 'Emails', 'year': 2010}, {'Example': 'Alto', 'year': 2014}]
Code Açıklama:
- Yılı döndürmek için kullanıcı tanımlı bir işlev oluşturulur
- Anahtar parametresi kullanıcı tanımlı bir fonksiyonu kriter olarak alır.
- Sıralama işlevi, listeyi "yıl" öğesinin değerine göre artan sırada düzenleyecektir.
Sıralama yöntemi ile sıralanmış yöntem arasındaki fark Python
Yukarıdaki örnekleri inceledikten sonra, iki sıralama aracını doğrudan karşılaştırmak faydalı olacaktır. Farklılıkları özetlemeden önce, Sorted yönteminin sözdizimini anlayalım.
Python Sözdizimi:
sorted (list_name, reverse=…., key=..)
Code Açıklama:
- sorted işlevi, listeyi artan veya azalan düzende sıralar.
- İşlev, iki parametrenin isteğe bağlı türde ve bir parametrenin gerekli türde olduğu üç parametreyi kabul eder.
- Sorted yöntemi kullanılırken liste_adı parametresi gereklidir.
- Sorted yöntemi herhangi bir yinelenebilir liste türünü girdi olarak alabilir.
- Sıralama yönteminde anahtar parametreler ve ters parametreler isteğe bağlı parametrelerdir. Python.
Burada sort ve sorted işlevinin kullanımına bir örnek verilmiştir. Python:
Python Kod:
#Use of the Sorted method Base_list=[11,10,9,8,7,6] print("the original list is",Base_list) New_list=sorted(Base_list) print("the New list using sorted method is",New_list) #Use of the Sort method Base_list=[11,10,9,8,7,6] print("the original list is",Base_list) New_list=Base_list.sort() print("the New list using sort method is",New_list)
Çıktı:
the original list is [11, 10, 9, 8, 7, 6] the new list using the sorted method is [6, 7, 8, 9, 10, 11] the original list is [11, 10, 9, 8, 7, 6] the new list using the sort method is None
Code Açıklama:
- Orijinal liste, sorted işlevi için gerekli bir parametre olarak iletilir.
- Sorted yöntemi orijinal listenin yanı sıra yeni bir liste döndürür.
- sorted yöntemine hiçbir ek parametre aktarılmadığından, yeni liste varsayılan olarak artan düzende sıralanır.
- Sıralama işlevi yeni bir liste oluşturmaz.
Aşağıda temel benzerlikler ve farklılıklar yer almaktadır:
| Sıralanmış işlev | Sıralama işlevi |
|---|---|
| Sıralanmış işlev Python liste_adı'nı gerekli parametre olarak alan yerleşik bir işlevdir. | Sıralama fonksiyonu orijinal listeyi parametre olarak almaz. |
| Sıralanmış yöntem yeni bir liste döndürür | Sıralama işlevi yeni bir liste döndürmez |
| Yinelenebilir listeler için sıralanmış işlev kullanılmalıdır | Yinelenemeyen listeler için sort işlevi kullanılmalıdır. |
| Orijinal listeyi değiştirmez ve orijinal verileri korumamıza olanak tanır. | Sıralama işlevi orijinal işlevi değiştirir ve dolayısıyla daha az bellek alanı kaplar |
Sıralanmış yöntem veya sıralama yöntemi ne zaman kullanılmalı?
Yarış verilerinin sıralanmasını gerektiren bir örneği ele alalım. Program göğüs numarasını ve yarışı bitirmek için saniye cinsinden geçen süreyi kullanır.
Python Kod:
from collections import namedtuple Base = namedtuple('Runner', 'bibnumber duration') blist = [] blist.append(Base('8567', 1500)) blist.append(Base('5234', 1420)) blist.append(Base('2344', 1600)) blist.append(Base('2342', 1490)) blist.append(Base('23444', 1620)) blist.append(Base('6674', 1906)) print("original list",blist) blist.sort(key=lambda x: getattr(x, 'duration')) top_five_result = blist[:5] print("Results using sort function",top_five_result) r_blist=sorted(blist,key=lambda x: getattr(x, 'duration')) top_five_result = r_blist[:5] print("Results using sorted function",top_five_result)
Çıktı:
original list [Runner(bibnumber='8567', duration=1500), Runner(bibnumber='5234', duration=1420), Runner(bibnumber='2344', duration=1600), Runner(bibnumber='2342', duration=1490), Runner(bibnumber='23444', duration=1620), Runner(bibnumber='6674', duration=1906)] Results using sort function [Runner(bibnumber='5234', duration=1420), Runner(bibnumber='2342', duration=1490), Runner(bibnumber='8567', duration=1500), Runner(bibnumber='2344', duration=1600), Runner(bibnumber='23444', duration=1620)] Results using sorted function [Runner(bibnumber='5234', duration=1420), Runner(bibnumber='2342', duration=1490), Runner(bibnumber='8567', duration=1500), Runner(bibnumber='2344', duration=1600), Runner(bibnumber='23444', duration=1620)]
Code Açıklama:
- Temel liste, hem sıralama işlevi hem de sıralama işlevi kullanılarak sıralanır.
- Sıralama işlevi uygulandığında temel liste kaybolur.
- Sıralama işlevi orijinal veri kümesine uygulanmamalıdır. Orijinal veri setinin kopya versiyonu mevcut olduğunda kullanılmalıdır.
- Sıralanmış işlevi orijinal listeyi korur. Bunu geçersiz kılmaz.
- Bu daha iyi bir teklif sunuyor. tracVerimlilik ve etkili veri yönetimi.

