Tam metin 5118 kelime ve beklenen öğrenme süresi 15 dakikadır
Kaynak: Pexels
Giderek daha fazla insan, en popüler programlama dillerinden biri haline gelen Python'u öğrenmeye başlıyor ve bu neredeyse tüm alanlarda oluyor. Ağ geliştirme, bilimsel hesaplama ve tabii ki yapay zeka gibi.
Python ile ne yapmak isterseniz isteyin, Python'un veri yapılarını, değişken ve işlev bildirimlerini, koşullu ifadeleri, kontrol akışını ve diğer temel kavramları öğrenmekten kaçınamazsınız.
Önemli bir "Pythonic" özelliği liste anlamadır - bu liste oluşturmanın özlü bir yoludur, ancak birçok yeni başlayan kişinin kafasını karıştırır.
Duymuştum ama ne olduğunu bilmiyor musun?
Önemli değil, bu makale giriş düzeyinde Python listesini anlama öğrenimi sağlar. Daha sezgisel olması için metin
Sözdizimi ve çeşitli kullanım durumları dahil, listeyi anlama hakkında bilmeniz gereken dokuz şeyi listeler.
En temel liste anlayışı aşağıdaki sözdizimine sahiptir.
Daha önce de belirtildiği gibi, liste oluşturmak gibi belirli şeyler için kullanmak uygundur. Genişletilmiş form genellikle, her yinelenebilir öğenin ifadede belirtilen belirli işlemleri çalıştırdığı bir for döngüsü olarak temsil edilir.
# liste anlama # Genişletilmiş biçim yinelenebilir öğe için: ifadeSöylemeye gerek yok, en popüler kullanım kısaca bir liste oluşturmaktır.
Liste anlamanın ne olduğunu bilmediğinizi varsayarak, bir liste oluşturduğunuzda aşağıdaki işlemleri yapabilirsiniz. Önce boş bir liste ilan edin. Daha sonra for döngüsünde, her öğeyi listeye ekleyin.
> > > evcil hayvanlar = ('kuş', 'yılan', 'köpek', 'kaplumbağa', 'kedi', 'hamster') > > > Uppercased_pets = > > > evcil hayvanlarda evcil hayvan için: ... Uppercased_pets.append (pet.upper ()) ... > > > Uppercased_petsile barındırılan rawpets.py dosyasını GitHub tarafından görüntüleyin
Temel sözdizimi bölümünde bahsedildiği gibi, for döngüsü ifadesi tek satırda "sıkıştırılabilir" - yani, yalnızca bir satır kod içeren bir liste anlayışı kullanarak, orijinal listeyi yineleyerek kolayca bir liste oluşturabiliriz.
> > > evcil hayvanlar = ('kuş', 'yılan', 'köpek', 'kaplumbağa', 'kedi', 'hamster') > > > Uppercased_pets = > > > Uppercased_petsKaynak: Pexels
Bazen bir liste oluşturmak için bir liste anlama kullandığınızda, mevcut listedeki tüm öğeleri dahil etmek istemezsiniz.
Bu durumda, mevcut listedeki belirli koşulları karşılamayan öğeleri filtrelemek için bir koşullu ifade gerekir. Karşılık gelen liste anlayışı aşağıdaki sözdizimine sahiptir.
# koşullu ifadeli liste anlama # Genişletilmiş biçim yinelenebilir öğe için: bazı_şartlar: ifadeGitHub tarafından ile barındırılan rawlist.py'yi görüntüleyin
Aşağıda, yukarıdaki kullanıma bir örnek verilmiştir:
> > > asal = > > > squared_primes = > > > squared_primesDaha karmaşık durum değerlendirmeleri varsa, işlevleri bile kullanabilirsiniz.
> > > defhas_four_legs (evcil hayvan): ... evcil hayvanı geri getir ('domuz', 'köpek', 'kaplumbağa', 'hamster', 'kedi') ... > > > evcil hayvanlar = ('kuş', 'yılan', 'köpek', 'kaplumbağa', 'kedi', 'hamster') > > > four_legs_pets = > > > four_legs_petsGitHub tarafından ile barındırılan rawhas_four_legs.py'yi görüntüleyin
Bazen, orijinal listedeki öğeleri filtrelemek istemezsiniz. Bunun yerine, koşulları değerlendirerek hangi ifadenin kullanılacağını belirlemek arzu edilir. Aşağıda dilbilgisi ve kullanımı ve dilbilgisi de buna göre açıklanmıştır.
# temel sözdizimi # sözdizimi açıklandı: liste anlamanın temel sözdizimi ile karşılaştırıldığında: bunu incelebiliriz (expression0 if some_condition else expression1) genel formattaki ifadeyi oluşturan bütün bir bölümdür > > > max_value = 10 > > > sayılar = (7, 9, 11, 4, 3, 2, 12) > > > roof_numbers0 = > > > tavan_numaraları0 > > > tavan_numaraları1 = > > > tavan_numaraları1ile barındırılan rawsyntax.py dosyasını GitHub tarafından görüntüleyin
Bazı durumlarda, kişilerin liste oluşturmak için map () kullandığını görebilirsiniz. Özellikle, map () işlevi aşağıdaki sözdizimine ve temel kullanım örneklerine sahiptir.
Map () işlevinin yinelenebilir bir nesne döndürdüğüne dikkat edilmelidir, böylece bu yinelenebilir nesneden bir liste oluşturmak için list () işlevini kullanabilirsiniz.
# map () bir yineleyici nesne döndürür harita (işlev, yinelenebilir) > > > evcil hayvanlar = ('kuş', 'yılan', 'köpek', 'kaplumbağa', 'kedi', 'hamster') > > > Uppercased_pets = list (harita (str.upper, evcil hayvanlar)) > > > Uppercased_petsile barındırılan rawmap.py'yi GitHub tarafından görüntüleyin
Daha önce gösterildiği gibi, map () işlevi bir liste anlama ile değiştirilebilir.
> > > evcil hayvanlar = ('kuş', 'yılan', 'köpek', 'kaplumbağa', 'kedi', 'hamster') > > > Uppercased_pets = > > > Uppercased_petsKaynak: Pexels
Aşağıdaki kod parçacığında bir demet olduğunu varsayın. Yeni bir öğe listesi oluşturmak istiyorsanız, bu öğeler demetteki tüm sayıların kareleridir.
Bu durumda, iç içe geçmiş liste anlamayı kullanabilirsiniz, sözdizimi aşağıdaki gibidir.
# iç içe geçmiş liste anlamalarının temel sözdizimi # Genişletilmiş biçim dış_listedeki alt liste için: alt listedeki öğe için: ifade > > > iç içe_sayılar = ((1, 4, 7, 8), (2, 3, 5)) > > > kareler = > > > karelerGitHub tarafından ile barındırılan rawnested.list.py dosyasını görüntüleyin
Teknik olarak iç içe geçmiş liste anlama birden çok seviyeye sahip olabilir, ancak okunabilirliği sağlamak için ikiden fazla seviye önerilmez.
Python 3.8'deki yeni bir özellik, atama ifadeleri için mors operatörünün (: =) tanıtılmasıdır.
Harf listesinden on kez çıkardığınızı varsayalım, oluşturulan liste bu resimlerdeki yalnızca ünlüleri içerecektir. Aşağıda, mors operatörünün liste anlamada nasıl kullanılacağı gösterilmektedir.
Özellikle aşağıdaki örnekte harften çıkarılan rastgele harfin sesli olup olmadığı değerlendirilir, eğer öyleyse liste anlama ifadesi ile ulaşılabilen harflere bölünür.
> > > harfler = liste ('bu, bir harf listesi oluşturmak içindir') > > > harfler > > > rastgele içe aktar > > > ünlüler = > > > sesli harflerile barındırılan rawletters.py'yi görüntüle by GitHub
Pek çok kişi liste anlayışını bilse de, koleksiyon oluştururken anlama da kullanılabilir. Temel sözdizimi ve kullanımı aşağıda gösterilmektedir.
En büyük farklardan biri, köşeli parantezler yerine küme parantezi kullanmamızdır. Elbette tasarıma göre koleksiyondaki öğeler tekrar edilmeyecek ki bu da tekrara izin veren listenin tam tersi.
Koşullu ifadelerin kolektif anlayışta da kullanılabileceğini unutmayın.
Kümeyi anlama için # sözdizimi {yinelenebilen öğe için ifade} > > > sayılar = (1, 34, 5, 8, 10, 12, 3, 90, 70, 70, 90) > > > unique_even_numbers = {sayı, sayı% 2 ise == 0} > > > unique_even_numbers {34, 70, 8, 10, 12, 90}by GitHub tarafından barındırılan rawset.comprehension.py'yi görüntüleyin
Kaynak: Pexels
Listeyi bilmek ve anlamayı ayarlamak, Python ile ilgili bir sözlük anlayışınız varsa şaşırmayacaksınız. Aşağıdaki kod parçacığı, temel sözdizimini ve kullanımını gösterir.
# dikte anlama sözdizimi {key_expression: yinelenebilen öğe için değer_ifadesi} > > > kelimeler = ('python', 'is', 'a', 'büyük', 'yılan') > > > len_words = {kelime: kelime için len (kelime)} > > > len_words {'python': 6, 'is': 2, 'a': 1, 'büyük': 3, 'yılan': 5} > > > len_words_p = {kelime: len (kelime) if word.startswith ('p')} > > > len_words_p {'python': 6}ile barındırılan rawdict.py dosyasını GitHub tarafından görüntüleyin
Kaynak: Pexels
Bu makale, liste anlama temel sözdizimini ve çeşitli senaryolarda kullanımını gözden geçirmektedir.
Listelenen anlamaların yanı sıra, kümeler ve sözlük anlamaları da tartışılır. Bu anlayışlara güvenmek, Python ile temel veri toplama türleri oluşturmaya ve onları daha okunaklı hale getirmeye yardımcı olur.
Yorum Beğen Takip Et
Yapay zeka öğrenme ve geliştirmenin kuru mallarını paylaşalım
Yeniden yazdırıyorsanız, lütfen arka planda bir mesaj bırakın ve yeniden yazdırma şartnamelerine uyun