Python listelerini anlama konusunda uzmanlaşmak için bilmeniz gereken 9 şey, biliyor musunuz?

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.

1. Temel dilbilgisi

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: ifade

2. Bir liste oluşturun

Sö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_pets

ile 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_pets

3. Koşul ifadesini filtreleyin

Kaynak: 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: ifade

GitHub 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_primes

Daha 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_pets

GitHub tarafından ile barındırılan rawhas_four_legs.py'yi görüntüleyin

4. Koşullu atama

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ı1

ile barındırılan rawsyntax.py dosyasını GitHub tarafından görüntüleyin

5. Haritayı değiştir ()

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_pets

ile 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_pets

6. İç içe geçmiş liste anlama

Kaynak: 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 = > > > kareler

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

7. Walrus operatörünü kullanın

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 harfler

ile barındırılan rawletters.py'yi görüntüle by GitHub

8. Kolektif anlayış

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

9. Sözlük anlayışı

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

sonuç olarak

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

Göz açıcı! Tıp ve otomotiv endüstrilerinde yapay zekanın 11 ilginç uygulaması
önceki
GRPC'yi ve sunum katmanı durum geçişi ile uzak prosedür çağrısı mimarisi arasındaki farkı anlayın
Sonraki
Genç programcıdan kıdemli programcıya nasıl başarılı bir şekilde terfi edilir?
Bugün Core Voice | Huawei Cloud, Dünyaya Ücretsiz Tıbbi Yapay Zeka Hizmetlerini Duyurdu
Küresel salgın grevleri, İsviçreli bilim adamları laboratuvarda koronavirüsü yeniden mi yaratıyor?
Python3.9'da sözlük birleştirme ve güncelleme, bir göz atın
Kaçırılmaması gereken, bilmeniz gereken 5 JavaScript ipucu!
Programcıların bilgilerini ve çalışma hayatını anlamanıza yardımcı olacak GitHub depolarının bir listesi
Warby Parker modeli neden kopyalanamıyor?
Küresel servet değişikliği: En kötü ve en zengin adam günde 3 milyar kaybediyor, Buffett ayrıca paniğe kapıldı
Ağır! 2019 Çin Ekonomik Sektörü Refah Endeksi açıklandı
Jinan National Fitness Center'ın bazı mekanları açık, size girişi anlatayım
Wuhan Savaşı Salgını | Wen Youjian: Salgının ön cephesi asker olma hayalini gerçekleştirdi ve doktorlar ve hastalar birbirlerinden etkilendi
Saraybosna'yı savunun, sokaklar savaş zamanı salgınını önleme gibidir ve Bosna-Hersek'te kontrol tırmandırılır ve ülke genelinde sokağa çıkma yasakları uygulanır
To Top