Python sıralama lambda

Python işlevleri ve meth

Sözlükler sırasız veri yapılarıdır. Verileri depolamak için bir eşleme yapısı kullanırlar. Sözlükler, ilgili verileri tutan çiftler oluşturarak anahtarları değerlere eşler.

Python sorted() yöntemini kullanarak, bir sözlüğün içeriğini değere göre sıralayabilirsiniz. Örneğin, bir kahve menüsündeki öğelerin popülerliğini sıralamak için Python'un sorted() yöntemini kullanabilirsiniz. Bu öğretici, sorted() yönteminin nasıl çalıştığını ve bunu bir sözlüğün içeriğini sıralamak için nasıl kullanabileceğinizi tartışacaktır.




Python sorted() Tazeleme

Python'un yerleşik sorted() işlevi, listeler, tanımlama grupları ve sözlükler gibi yinelenebilir nesneleri sıralamak için kullanılabilir. sorted() işlevi, belirtilen yinelenebilir nesnenin öğelerini sıralar ve yeni sıralanan değerlerle yeni bir nesne oluşturur.

İşte sorted() yönteminin sözdizimi:

sıralı(nesne, anahtar, ters)

Yöntem üç parametrede:

  • nesne: sıralamak istediğiniz yinelenebilir nesne (gerekli)
  • anahtar: özel sıralama işlemleri gerçekleştirmenizi sağlayan işlev (isteğe bağlı)
  • ters: nesnenin azalan düzende sıralanıp sıralanmayacağını belirtir (isteğe bağlı)

Gördüğünüz gibi, object gerekli olan tek parametredir. İsteğe bağlı key ve reverse parametrelerini kullanmamaya karar verirseniz, Python nesneyi otomatik olarak artan düzende sıralayacaktır.

Not: Python.Engineering şöyle yazdı: Python'da sort() ve sort() yöntemleriyle ilgili tam kılavuz. Bu yöntem ve key parametresi hakkında daha fazla bilgi edinmek istiyorsanız, Python sort() eğiticimize göz atın.

sorted() yönteminin nasıl çalıştığını göstermek için hızlı bir örnek üzerinden gidelim. 

Katılımcıların %81'i teknolojilerinden daha emin hissettiklerini belirtti. Bir eğitim kampına katıldıktan sonra iş olanakları. Bugün bir eğitim kampı ile eşleştirin.

Ortalama bir eğitim kampı mezunu, bir eğitim kampına başlamaktan ilk işini bulmaya kadar, kariyer geçişinde altı aydan daha az zaman harcadı.

Diyelim ki bir eğitim programı yürütüyoruz. Kahve Kulübü (sadakat) müşterilerimizin alfabetik bir listesini almak istiyoruz. Halihazırda bir müşteri listemiz var, ancak kayıt tarihine göre sıralanıyor. Listemizi sıralamak için şu kodu kullanabiliriz:

customers = ['Kaley Fernandez', 'Darius Rowland ', 'Isaac Borthwick', 'Alexandria Kidd'] sorted_customers = sorted(customers) print(sorted_customers)

Kodumuz customers dizisini sıralar ve aşağıdakini döndürür :

['Alexandria Kidd', 'Darius Rowland', 'Isaac Borthwick', 'Kaley Fernandez'] 

Kodumuzun ilk satırında, müşterilerimizin’ isimler; bu listenin adı: müşteriler. Ardından, müşteri adları listesini artan düzende sıralamak için sorted() yöntemini kullanırız; bu yeni listenin adı: sorted_customers. Son olarak print() fonksiyonunu kullanarak yeni sıraladığımız listeyi konsola yazdırıyoruz. 





Sözlüğü Değere Göre Sırala

Diyelim ki bir sözlüğünüz var ve onu anahtar/değer çiftlerine göre sıralamak istiyorsunuz. birlikte iki işlev: items() ve sorted()

items() işlevi şunları yapmanızı sağlar: bir sözlükteki öğeleri alın. Bu işlevi, bir sözlüğü değerine göre sıralamak için sorted() işlevi ve özel bir key parametresi ile birlikte kullanabiliriz. Aşağıdaki ikisini göz önünde bulundurun. örnekler.

Örnek 1: Azalan Düzende Sırala

Kahveye dönelim. Diyelim ki kahve menümüzdeki öğelerin yanı sıra kaç tane öğeyi de saklayan bir sözlüğümüz var? Geçen ay her üründen sipariş verildi Geçen ay en popüler kahvenin ne olduğunu görmek istiyoruz, bu yüzden sipariş sözlüğünü sıralamaya karar verdik. değerlerin azalan düzeni.

Sözlüğümüzün içeriğini değere göre sıralamak için kullanabileceğimiz bir program:

Kodumuz şunu döndürür:

espresso 72 latte 56 cappuccino 54 americano 48 cortado 41

Kodumuzda çok şey oluyor , öyleyse onu parçalayalım. 

Kodumuzun başında, kahvelerin adlarını tuşlar< olarak saklayan siparişler adlı bir sözlük tanımlarız. /strong> ve değerler olarak satılan sayı.

Ardından, siparişleri sıralamak için sorted() yöntemini kullanırız. > değere göre sözlük. sorted() yöntemini nasıl kullandığımızın dökümü burada:

ParametreMetinAçıklama
nesneorders.items() “siparişlerimizdeki” sözlük. Yalnızca "siparişler"i kullanacak olsaydık, bireysel değerini elde etmek için öğenin dizin konumuna başvurmamız gerekirdi. Order.items()'i kullanırsak, listedeki öğeleri içeren yinelenebilir bir liste oluşturulur.
anahtarkey=lambda x: x[1]Sözlüğümüze değere göre sıralama yapmamızı sağlayan bir sıralama mekanizması. Bu, adsız bir işlev olan bir Lambda işlevi örneğidir.
reversereverse=True< /td>Verilerimizin azalan düzende sıralanmasını istediğimizi belirtir.

< p>Son olarak, sort_order yöntemimizde oluşturulan her öğe arasında dolaşan ve hem anahtar adını hem de değerini belirlediğimiz sırayla sıralayarak yazdıran bir for döngüsü oluştururuz sort_order işlevinde.


Örnek 2: Artan Düzende Sırala

Benzer şekilde, kafemizde satılan en az popüler içeceği bulmak istersek, aynı kodu kullanabiliriz yukarıdaki gibi ancak reverse=True parametresi olmadan. İşte bunun için bir kod örneği:

siparişler = { 'cappuccino': 54, 'latte': 56, 'espresso': 72, 'americano': 48, 'cortado': 41 } sort_orders = sort(orders.items(), anahtar sort_orders içinde i için =lambda x: x[1]): print(i[0], i[1])

Kodumuzu çalıştırdığımızda aşağıdaki değerler döndürülür: < /p>

cortado 41 americano 48 cappuccino 54 latte 56 espresso 72

Sizin gibi görebileceğiniz gibi, kodumuz, her birinin sayısına göre artan düzende düzenlenmiş bir öğe listesi döndürdü. geçen ay sipariş edilen öğe.




Liste Anlama

Ayrıca, sözlük içeriğini değere göre sıralamak için liste kavramayı kullanabiliriz. Liste anlama, Python'da listeler oluşturmak için kısa bir tekniktir ve daha karmaşık sıralama yöntemleri oluşturuyorsanız yerden tasarruf sağlayabilir.

Kahve siparişlerimizi sayıya göre artan düzende sıralamak için kullanacağımız kod burada Liste anlama kullanılarak sipariş edilen her kahve için:

"Python.Engineering hayatıma en ihtiyacım olduğu anda girdi ve hızlı bir şekilde bir eğitim kampı ile eşleşmeme yardımcı oldu. Mezun olduktan iki ay sonra, hayalimdeki işi buldum. hayattaki değerlerim ve hedeflerim!"

Venus, Rockbot'ta Yazılım Mühendisi

Kodumuzu çalıştırdığımızda aşağıdaki yanıt döndürülür :

cortado 41 americano 48 cappuccino 54 latte 56 espresso 72

Kodumuzun sonucu, orders listesinin içeriğini artan düzende sıraladığımız yukarıdaki örneğimizle aynıydı. Ancak, bir sort_orders değişkeni tanımlamak ve sıralanmış listeyi yinelemek için ayrı bir for döngüsü oluşturmak yerine, liste anlama tekniğini kullanarak bir liste oluşturduk.

Yukarıda oluşturduğumuz liste kavrayışı, listemizdeki her öğeyi artan düzende sıralar, ardından her sözlük öğesinin anahtarını ve değerini konsola yazdırır.





Sonuç

Python'da sözlüklerle çalışırken, sözlüğü değerine göre sıralamak yaygın bir işlemdir. sorted() yöntemi, bir dizi veriyi ihtiyaçlarınıza göre sıralamanıza olanak tanır.

Örnekler sağlayan bu eğiticide, bir sözlüğü değere göre sıralamak için sorted() yönteminin nasıl kullanılacağı tartışıldı. Python, key ve reverse parametrelerinin nasıl kullanılacağı dahil. 

Artık bir Python uzmanı gibi sözlükleri değerlere göre sıralamaya hazırsınız. !





Python sıralama lambda: StackOverflow Questions