Python Örneklerle sort()'u listeleyin

sort() yöntemi nedir? Python?

Sıralama işlevi Python listenin artan veya azalan düzende sıralanmasına yardımcı olur. Sayısal bir listeyi, dizileri ve dize listesini sıralamak için kullanılabilir. Ayrı bir liste oluşturmaz ancak orijinali değiştirir veya sıralar.

Sıralama yönteminin söz dizimi Python

Sıralama işlevinin söz dizimi aşağıda listelendiği gibidir: –

List.sort(key=…, reverse=…)

Sıralama işlevinin aşağıda listelendiği gibi 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.
  • Revaksi halde: – değeri doğru veya yanlış olarak alır. Doğruysa, bu özel işlev listeyi azalan düzende 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']

Kod Açıklaması:

  • 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.

Özelleştirilmiş bir fonksiyon, bir isim olmadan oluşturulabilir ve bir 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

Burada, anahtar parametrelere sahip bir sıralama fonksiyonunun bir demet içindeki öğeleri sıralamaya nasıl yardımcı olduğunu gösteren bir demet ve özelleştirilmiş işlev örneği verilmiştir: -

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)]

Kod Açıklaması:

  • 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 işlevdir. Belirlenen uzunluk, sıralama işlevinde indeksleme için kullanılabilir. Bunu yapmak için Len'i 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 Kod:

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']

Kod Açıklaması:

Liste öğelerini Len kullanarak sıralama

  • Öğ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, bunu 99 uzunluğundaki Guru6 takip eder.

Bu örnek, aşağıda gösterildiği gibi sıralama işlevindeki ters parametre kavramını göstermektedir: –

Python Kod:

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

Bir listeyi sıralamak için kullanıcı tanımlı bir işlevi anahtar parametre olarak da kullanabilirsiniz. İşte bir örnek: -

Python Kod:

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}]

Kod Açıklaması:

  • 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

Farklılıkları özetlemeden önce Sorted yönteminin sözdizimini anlayalım.

Python Sözdizimi:

sorted (list_name, reverse=…., key=..)

Kod Açıklaması:

  • 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 aşağıda gösterildiği gibi: –

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

Kod Açıklaması:

  • 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ıklara ilişkin noktalar 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)]

Kod Açıklaması:

  • 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 izlenebilirlik ve etkili veri yönetimi sunar.

Sonuç

  • Sıralama işlevi, python'da sayısal ve dize listesinin sıralanmasına yardımcı olur.
  • Aynı zamanda demetlerin sınıflandırılmasına da yardımcı olabilir.
  • Reverse ve key işlevin isteğe bağlı parametreleridir.
  • Ayrı bir listeye ihtiyaç duyuluyorsa ve aynı anda orijinal listeye de ihtiyaç duyuluyorsa, sorted fonksiyonu kullanılmalı, aksi takdirde optimize edilmiş bellek kullanımı elde etmek için sort fonksiyonu kullanılmalıdır.

Bu yazıyı şu şekilde özetleyin: