Python’daki liste kavramaları genellikle yeni bir liste veya sözlük oluşturan yinelenebilir bir nesne üzerinde döngü oluşturan tek satırlık ifadeler yazmak için kullanılır. Bu makale, Python’da for döngülerinin nasıl çalıştığına dair temel bir açıklamayla başlayarak, Python’da liste kavrayışlarının nasıl kullanılacağını açıklamaktadır.
Python’da Döngü için
Python’daki for döngüsü ifadesi, herhangi bir nesneyi, listeyi, dizeyi vb. dönüştürmek için kullanılabilir. Üyeleri üzerinde sırayla tekrarlanır. Diğer programlama dilleriyle karşılaştırıldığında, sözdizimi çok daha temizdir ve yineleme ve yinelemeyi başlatma adımlarının manuel olarak tanımlanmasını gerektirmez. Diğer programlama dillerinde olduğu gibi davranmasını sağlamanın yolları olsa da (bu makalede ele alınmayacaktır). Ayrıca takip et, ara ver, geç vs. Python’da basit bir for döngüsü örneği gibi ifadelerle döngüler üzerinde biraz kontrol uygulayabilirsiniz:
için x içeriAralık(10):
matbaa(x)
Yukarıdaki for döngüsü, 0 ile başlayan ve 9 ile biten on sayı yazdıracaktır.
Listeleme Anlayışları
Liste kavrama, tek satırlık bir cümlede döngüler için çok satırlı yazmanın özlü bir yolundan başka bir şey değildir. Tüm “x” değerlerini içine alarak listeyi anlamak için aşağıdaki örnek [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] Yeni bir liste oluşturacaktır.
Hazırlık =[x için x içindeAralık(10)]
matbaa(Hazırlık)
Liste kavramanın her zaman yeni bir liste oluşturduğunu ve ifadede kullanılan orijinal yinelemeli öğeleri değiştirmediğini unutmayın. Tipik bir liste anlama ifadesi, bir “for” yan tümcesi ve ardından “if” ve “else” koşul cümleleri içermelidir. Liste kavrayışı kullanılmadan yukarıdaki örnek şu şekilde yazılabilir:
Hazırlık =[]
için x içeriAralık(10):
Hazırlık.eklemek(x)
matbaa(Hazırlık)
performans ve okuma
Gerçekleştirme listesi döngülerden daha hızlıdır. Ancak, yüzbinlerce öğe üzerinde yineleme yapmadığınız sürece önemli performans iyileştirmeleri görmezsiniz. Liste kavrama, döngüler yazmak için kısa bir yol sağlarken, karmaşık ifadeler kodda zayıf okunabilirliğe ve artan ayrıntıya yol açabilir. Programınızın performansını en üst düzeye çıkarmak mutlak bir gereklilik değilse, kodunuzu okunabilir durumda tutmak önemlidir.
Örnek: Liste alma sözdizimini sözlükler ve koleksiyonlarla kullanma
Bir python sözlüğü, anahtar/değer çiftleri halinde tanımlanan bir öğeler koleksiyonudur, koleksiyon ise yinelemeye izin verilmeyen benzersiz değerler topluluğudur. Liste gerçekleştirme, Python sözlükleri ve koleksiyonları ile de kullanılabilir. Sözdizimi biraz farklı, artık ifadeyi köşeli parantez içine almak yerine kaşlı ayraçlar kullanmanız gerekecek. Ayrıca yeni bir liste yerine yeni bir sözlük/koleksiyon nesnesi alacaksınız.
veri ={“Kent”: “New York”Ve“İsim”: “Falan”}
format_data ={k: t.Başlık()için KVeBeşinci içeri veri.Elementler()}
matbaa(format_data)
Yukarıdaki örnek, dize değerlerini büyük harfe çevirecek ve {‘şehir’: ‘New York’, ‘name’: ‘John Doe’} çıktısını alacak ‘formatted_data’ adlı yeni bir sözlük oluşturacaktır. Soldaki sözlük değişkenini seçerek sözlük /yerinde ayarını da değiştirebilirsiniz.
veri ={“Kent”: “New York”Ve“İsim”: “Falan”}
veri ={k: t.Başlık()için KVeBeşinci içeri veri.Elementler()}
matbaa(veri)
Sözlük kavramayı kullanmadan, kod şöyle görünür:
veri ={“Kent”: “New York”Ve“İsim”: “Falan”}
format_data ={}
için KVe Beşinci içeri veri.Elementler():
format_data[k]= Beşinci.Başlık()
matbaa(format_data)
Kümelerin anahtar-değer çiftleri olmadığından, küme anlama, liste anlamayla aynı şekilde tanımlanabilir. Tek fark kaşlı ayraçların kullanılmasıdır.
Örnek: anlama menüsünde birden çok döngü
Yukarıdaki liste anlama örneği temeldir ve tek bir “for” ifadesi kullanır. Aşağıda, çoklu for döngüleri ve koşullu bir “if” ifadesi kullanan bir örnek verilmiştir.
sıfatlar =[“Disko”,“Eon”,“Odak”,“Sanatsal”]
hayvanlar =[“Dingo”,“Ermin”,“Fossa”,“Kunduz”]
kod adları =[x + ” “ + y için x içinde sıfatlar için y içinde hayvanlar Eğer y.ile başlar(x[0])]
matbaa(kod adları)
çıktı olarak kod [‘Disco Dingo’, ‘Eoan Ermine’, ‘Focal Fossa’] Görünecek. Döngüler için “sıfatlar” ve “hayvanlar” listelerinde gezinin ve bunların üyeleri, yalnızca her iki kelimenin de ilk harfi aynıysa boşluk kullanılarak birleştirilir. Liste kavrayışları kullanılmadan kod şöyle görünür:
sıfatlar =[“Disko”,“Eon”,“Odak”,“Sanatsal”]
hayvanlar =[“Dingo”,“Ermin”,“Fossa”,“Kunduz”]
kod adları =[]
için x içeri sıfatlar:
için y içeri hayvanlar:
eğer y.asla b(x[0]):
Kod adları.eklemek(x + “” + p)
matbaa(kod adları)
Örnek: if-else koşuluyla alma listesi
Aşağıdaki örnek, liste kavramalarında if ve else deyimlerinin kullanımını gösterecektir.
sayı_listesi =[1,2,3,4]
başka bir liste =[5,6,7,8]
çözüm =[NSEğer(x + y) % 2==0BaşkaYanlışiçin x içinde sayı_listesi için y içinde başka bir_liste]
matbaa(çözüm)
İki liste arasında yineleme yaparken, yukarıdaki liste alımı, eleman çiftinin toplamının eşit olup olmadığını kontrol eder. Yukarıdaki kodu çalıştırmak size bir çıktı verecektir [True, False, True, False, False, True, False, True, True, False, True, False, False, True, False, True] Görünecek. Liste kavrayışı kullanılmadan kod şöyle görünür:
sayı_listesi =[1,2,3,4]
başka bir liste =[5,6,7,8]
çözüm =[]
için x içeri sayı_listesi:
için y içeri liste_diğeri:
eğer(x + y) % 2==0:
çözüm.eklemek(NS)
diğer:
çözüm.eklemek(gaf)
matbaa(çözüm)
çözüm
Liste Kapsayıcılığı, temiz, özlü döngü ifadeleri yazmak için güzel bir yol sağlar. Ancak, çok sayıda döngü ve koşullu ifade kullanılırsa, bunlar hızla karmaşık ve anlaşılması zor hale gelebilir. Nihayetinde, programcının konfor düzeyine iner, ancak aşırı steno kullanmak yerine açık, okunabilir ve hata ayıklaması kolay kod yazmak genellikle iyi bir fikirdir.
Diğer gönderilerimize göz at
[wpcin-random-posts]
İlk Yorumu Siz Yapın