Python'da Liste Anlama Nasıl Kullanılır

Python'da Liste Anlama Nasıl Kullanılır

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





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





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

Python ile bir öğe listesi oluşturmak kolaydır. Ancak, matematiksel veya dize işlemlerinden bir değerler veya öğeler listesi oluşturmanız gerektiğinde görev biraz sıkıcı olabilir. İşte o zaman liste kavramayı kullanmak işe yarayabilir.





Liste kavramayı kullanmanın bir avantajı, tek bir listede birkaç işlemi gerçekleştirebilmenizdir.

facebook'ta tbh ne anlama geliyor

Buna karşılık, yeni öğeler oluşturur ve bunları otomatik olarak bildirdiği boş bir listeye ekler. Bu yüzden manuel olarak boş bir liste yapmak ve ona bir liste eklemek yerine için Python'un liste kavrayışı, yeni listenin nasıl ortaya çıktığı konusunda endişelenmeden bunu otomatik olarak yapmanızı sağlar.



'Liste 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ştirmenizi sağlar. Daha sonra çıktıyı yeni bir listeye ekler.

Sonuç olarak, bir liste kavrayışının çıktısını başka amaçlar için de kullanabilirsiniz. Bunun nedeni, ifadeleri ayrı değişkenlerde yığmasıdır. Böylece onlara daha sonra başvurabilirsiniz.





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

Daha sonra kazınmış 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, kazınmış verilere özel değişkenlerde sahip olmanızı 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:

Products = [i.text for i in bs.find_all('name tags')]
Price = [i.text for i in bs.find_all('price tags')]

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

Python'da Liste Anlama Oluşturma ve Kullanma

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

ComprehensionVariable = [expression for items in list]

Baskı AnlamaDeğişkeni yukarıdaki kodun sonucunu bir liste olarak verir.

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

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

myList = []
for i in range(1, 11):
myList.append(i * 3)
print(myList)
Output: [3, 6, 9, 12, 15, 18, 21, 24, 27, 30]

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

multiplesOf3 = [i*3 for i in range(1, 11)]
print(multiplesOf3)
Output = [3, 6, 9, 12, 15, 18, 21, 24, 27, 30]

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

oddNumbers = [i for i in range(1, 11) if not i%2==2]
print(oddNumbers)
Output = [1, 3, 5, 7, 9]

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

myList = []
for i in range(1, 11):
if not i%2 == 0:
myList.append(i)
print(myList)
Output: [1, 3, 5, 7, 9]

İlgili: Python'da Liste Nasıl Eklenir

Bir liste kavrayışı, iç içe if ifadelerini de kabul eder:

oddNumbers = [i for i in range(1, 11) if not i%2==0 if i<4]
print(oddNumbers)
Output: [1, 3]

Ayrıca iç içe alır için döngü:

someNums = [[i*2 for i in range(1, 3)] for _ in range(4)]
print(someNums)

Ayrıca düz bir yuvaya sahip olabilirsiniz. için bir liste kavrayışında döngü:

someNums = [i*2 for i in range(1, 3) for k in range(4)]

Dizeleri Python liste kavrayışıyla da değiştirebilirsiniz. Aşağıda bir kelime sayacı anlayışına bir göz atalım:

word = ['This is a python list comprehension tutorial']
wordCounter = [i.count(' ') + 1 for i in word]
print(wordCounter)
Output: 7

Bir liste kavrayışı, 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:

Numbers = [4, 7, 8, 15, 17, 10]
def multiplier(n):
multiple = n*2
return multiple
multipleEven = [multiplier(i) for i in Numbers if i%2==0]
print(multipleEven)
Output: [8, 16, 20]

Yukarıdaki kodu yine de anlama kullanmadan tek bir fonksiyonda yazabilirsiniz. Ancak, birkaç yineleme gerçekleştirmeniz ve her birini ayrı değişkenlere yerleştirmeniz gerektiğinde bir liste kavrayışı yararlıdır.

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

multipleEvenFromOdds = [multiplier(i) for i in Numbers if not i%2==0]
print(multipleEvenFromOdds)
Output: [14, 30, 34]

Sözlük ve Küme Kavramaları

Liste kavramaya ek olarak, Python ayrıca bir sözlük ve bir dizi anlama işlevi sunar.

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

corresponding = {i: i*2 for i in range(10) if not i%2==0}
print(corr)
Output: {1: 2, 3: 6, 5: 10, 7: 14, 9: 18}

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

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

Bir küme anlama, bir liste kavramaya biraz benzer. İşte bir küme anlama örneği:

bilgisayarım neden 100 disk kullanıyor
numbers = {i**(2) for i in range(10) if i%4==0}
print(numbers)
Output: {0, 16, 64}

Ancak, liste anlamadan farklı olarak, set anlama yinelemeleri kaldırır:

nums = {i for i in range(20) if i%2==1 for k in range(10) if k%2==1}
print(nums)
Output: {1, 3, 5, 7, 9, 11, 13, 15, 17, 19}

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

Liste Anlamayı Her Zaman Kullanabilir misiniz?

Liste anlamanın farklı örneklerine ve bunları nerede kullanabileceğinize baktık. Ancak, diğer Python yöntemlerinde olduğu gibi, bir liste kavrayışının kullanım durumu, çözmek istediğiniz belirli soruna bağlıdır. Bu nedenle, yalnızca çözmek istediğiniz belirli sorun için idealse kullanmalısınız.

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

Paylaş Paylaş Cıvıldamak E-posta Python Liste Kavramları Nasıl Kullanılır (Ve Ne Zaman Kullanılmaz)

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

Sonrakini Oku
İlgili konular
  • Programlama
  • piton
Yazar hakkında Idisou Omisola(94 Makale Yayımlandı)

Idowu akıllı teknoloji ve üretkenlik konusunda tutkulu. Boş zamanlarında kodlamayla uğraşıyor ve canı sıkıldığında satranç tahtasına geçiyor ama arada sırada rutinden kopmayı da seviyor. İnsanlara modern teknolojinin yolunu gösterme tutkusu onu daha fazla yazmaya motive ediyor.

Idowu Omisola'dan Daha Fazla

Haber bültenimize abone ol

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

Abone olmak için buraya tıklayın