Python'da liste anlamanın zamanında kullanılması yinelemeli liste işlemlerini sizin için kolaylaştırabilir. Tek bir satır olmasının yanı sıra daha okunabilir ve daha verimli çalışır.

Ancak, nasıl kullanacağınızı bilmiyorsanız, sinirlenebilirsiniz. Kodunuzda nereye uygulayacağınızı bilmiyorsanız daha da sinir bozucu olabilir. Burada, Python'da liste anlamayı nasıl kullanacağınızı gerçek hayattan örneklerle göstereceğiz.

Python'da Liste Anlama Nedir ve Nasıl Çalışır?

Python ile bir öğe listesi oluşturmak kolaydır. Bununla birlikte, matematiksel işlemlerden veya dizgi işlemlerinden bir değer veya öğe listesi oluşturmanız gerektiğinde görev biraz yorucu olabilir. İşte o zaman liste anlamayı kullanmak işe yarayabilir.

Liste anlama özelliğini kullanmanın bir avantajı, tek bir listede birkaç işlem gerçekleştirebilmenizdir.

Buna karşılık, yeni öğeler oluşturur ve bunları otomatik olarak bildirdiği boş bir listeye ekler. Dolayısıyla, manuel olarak boş bir liste yapmak ve ona bir için Python'un liste anlayışı, yeni listenin nasıl geleceği hakkında endişelenmenize gerek kalmadan bunu otomatik olarak yapmanızı sağlar.

instagram viewer

"Listeyi anlama" terimi, tüm işlemlerin adlandırılmış bir değişkene atanmış bir Python listesinde olması gerçeğinden gelir. Daha önce de belirttiğimiz gibi, belirli işlemleri tek bir kod satırında gerçekleştirmenize izin verir. Ardından çıktıyı yeni bir listeye ekler.

Nihayetinde, bir liste anlayışının çıktısını başka amaçlar için de kullanabilirsiniz. Bunun nedeni, ifadeleri ayrı değişkenlerde biriktirmesidir. Böylece onlara daha sonra başvurabilirsiniz.

Örneğin, siz olabilirsiniz BeautifulSoup ile bir web sitesini kazıma. Web sitesinden tüm öğelerin adını ve fiyatlarını almayı düşündüğünüzü varsayalım.

Ardından, kazınan verileri bir CSV veya Excel dosyasına koymaya karar verirsiniz. İdeal uygulama, tüm öğelerin adını ve fiyatlarını kazımak ve her ikisini de ayrı sütunlara yerleştirmektir. Bununla birlikte, bu durumda bir liste kavrayışı kullanmak, verilerin atanmış değişkenlerde toplanmasını sağlar. Daha sonra bu tür değişkenleri daha sonra bir Python DataFrame'e dönüştürebilirsiniz.

Aşağıdaki örneğe bakın:

Ürünler = [bs.find_all içindeki i.text ('ad etiketleri')]
Price = [bs.find_all içindeki i.text ('fiyat etiketleri')]

Döngülü değişkenleri aldıktan sonra, onları Python'un Pandalarını kullanarak bir DataFrame'de ayrı sütunlara koyabilirsiniz.

Python'da Liste Kavrama Nasıl Oluşturulur ve Kullanılır

için döngü, bir liste anlamada önemli bir yineleyicidir. Genel olarak, Python'daki bir liste anlayışı şu biçimi alır:

ComprehensionVariable = [listedeki öğeler için ifade]

Baskı Anlama Değişken yukarıdaki kodun sonucunu liste halinde verir.

Ancak, bir liste anlayışını açık bir liste ile karıştırmamaya dikkat edin. için döngü.

Örneğin, haydi açık bir döngü kullanın 1 ile 30 arasında üçün tüm katlarının bir listesini almak için:

myList = []
aralıktaki i için (1, 11):
myList.append (i * 3)
baskı (myList)
Çıktı: [3, 6, 9, 12, 15, 18, 21, 24, 27, 30]

İkisini karşılaştırmak için, aynı şeyi bir liste anlayışı kullanarak yapalım:

multiplesOf3 = [(1, 11) aralığında i için i * 3]
baskı (multiplesOf3)
Çıktı = [3, 6, 9, 12, 15, 18, 21, 24, 27, 30]

Koşullu ifadelerle birlikte bir liste anlama da kullanabilirsiniz. Aşağıdaki örnek kod, 1 ile 10 arasındaki tüm tek sayıları yazdırır:

oddNumbers = [i aralıktaki i için (1, 11) değilse i% 2 == 2]
baskı (tekSayılar)
Çıktı = [1, 3, 5, 7, 9]

Şimdi, yukarıdaki kodu bir açık kullanarak yeniden yazalım. için döngü:

myList = []
aralıktaki i için (1, 11):
değilse% 2 == 0:
myList.append (i)
baskı (myList)
Çıktı: [1, 3, 5, 7, 9]

İlişkili: Python'da Liste Nasıl Eklenir

Bir liste anlama, aşağıdaki durumlarda iç içe geçmiş ifadeleri de kabul eder:

oddNumbers = [i aralıktaki i için (1, 11) değilse i% 2 == 0 eğer i <4]
baskı (tekSayılar)
Çıktı: [1, 3]

Ayrıca yuvalanmış bir için döngü:

someNums = [[aralıktaki (1, 3) i için i * 2] aralıktaki _ için (4)]
baskı (someNums)

Ayrıca düz bir iç içe geçmişe sahip olabilirsiniz. için bir liste anlayışında döngü:

someNums = [aralıktaki i için i * 2 (1, 3) aralığında (4) k için]

Dizeleri Python listesini anlama ile de değiştirebilirsiniz. Aşağıda bir kelime karşı anlamasına bir göz atalım:

word = ["Bu bir python listesini anlama eğiticisidir"]
wordCounter = [i.count ('') + 1 kelimede i için]
baskı (wordCounter)
Çıkış: 7

Bir liste anlama, belirli bir işlemi gerçekleştiren bir işlevi de kabul edebilir. Bunun nasıl çalıştığını görmek için bir liste kavrayışına çift sayılar alan bir çarpan işlevi ekleyelim:

Sayılar = [4, 7, 8, 15, 17, 10]
def çarpanı (n):
çoklu = n * 2
çoklu dönüş
multipleEven = [eğer i% 2 == 0 ise Numbers'da i için çarpan (i)]
baskı (multipleEven)
Çıktı: [8, 16, 20]

Yine de yukarıdaki kodu anlama kullanmadan tek bir işlevde yazabilirsiniz. Ancak, birkaç yineleme yapmanız ve her birini ayrı değişkenlere yerleştirmeniz gerektiğinde listeyi anlama yararlıdır.

Örneğin, başka bir işlem gerçekleştirebilirsiniz. n ve bunun için özel bir değişkene sahip. Tek sayılardan çift sayılar üretmek için yukarıdaki anlayışı değiştirelim:

multipleEvenFromOdds = [çarpan (i) Numbers'da i değilse, i% 2 == 0]
yazdırma (multipleEvenFromOdds)
Çıktı: [14, 30, 34]

Sözlük ve Anlamları Ayarla

Python, liste anlamanın yanı sıra bir sözlük ve bir dizi anlama işlevselliği de sunar.

Nasıl çalıştığını görmek için aşağıdaki örnek sözlük anlayışına bir göz atın:

karşılık gelen = {i: i * 2 aralıktaki i için (10) değilse i% 2 == 0}
baskı (düzeltme)
Çıktı: {1: 2, 3: 6, 5: 10, 7: 14, 9: 18}

Yukarıdaki kod, 1 ile 9 arasındaki sayılar listesini yineler ve onları anahtar yapar. Daha sonra Python'a her anahtarı ikiyle çarpmasını söyler. Son olarak, bu işlemin sonuçlarını, ortaya çıkan dizideki her anahtar için karşılık gelen değerler olarak sunar.

İlişkili: Python'da Diziler ve Listeler Nasıl Çalışır?

Küme kavrama, liste anlamaya biraz benzer. İşte bir küme anlama örneği:

sayılar = {i ** (2) aralıktaki i için (10) eğer i% 4 == 0}
baskı (sayılar)
Çıktı: {0, 16, 64}

Bununla birlikte, liste anlamanın aksine, küme anlama, yinelenenleri kaldırır:

nums = {i aralıktaki i için (20) eğer i% 2 == 1 aralıktaki k için (10) ise k% 2 == 1}
baskı (numara)
Çıktı: {1, 3, 5, 7, 9, 11, 13, 15, 17, 19}

Nasıl farklı olduklarını görmek için yukarıdaki kodu bir liste anlayışı kullanarak deneyebilirsiniz.

Her Zaman Liste Anlamayı Kullanabilir misiniz?

Listeyi anlamanın farklı örneklerine ve bunları nerede kullanabileceğinize bir göz attık. Bununla birlikte, diğer herhangi bir Python yöntemi gibi, bir liste anlayışının kullanım durumu, çözmek istediğiniz belirli soruna bağlıdır. Bu nedenle, yalnızca çözmek istediğiniz belirli bir sorun için idealse kullanmalısınız.

Listeyi anlamanın amaçlarından biri kodunuzu basitleştirmek ve daha okunaklı hale getirmektir. Bu nedenle, bununla uğraşırken karmaşıklıktan kaçındığınızdan emin olun. Örneğin, uzun bir Python anlayışını okumak karmaşık hale gelebilir. Bu amacını bozar.

E-posta adresi
Python Listesi Anlamaları Nasıl Kullanılır (Ve Ne Zaman Kullanılmamalı)

İşte bir gecede üretkenliğinizi ve kod okunabilirliğinizi artıracak bu harika Python özelliğini kullanma hakkında bilmeniz gereken her şey.

İlgili konular
  • Programlama
  • Python
Yazar hakkında
Idowu Omisola (55 Makale Yayınlandı)

Idowu, akıllı teknoloji ve üretkenlik konusunda tutkulu. Boş zamanlarında kodlama ile oynar ve sıkıldığında satranç tahtasına geçer, ancak arada bir rutinden uzaklaşmayı da sever. İnsanlara modern teknolojinin etrafındaki yolu gösterme tutkusu onu daha fazla yazmaya motive ediyor.

Idowu Omisola'dan Daha Fazla

Haber bültenimize abone ol

Teknoloji ipuçları, incelemeler, ücretsiz e-kitaplar ve özel fırsatlar için haber bültenimize katılın!

Bir adım daha…!

Lütfen size az önce gönderdiğimiz e-postadaki e-posta adresinizi onaylayın.

.