List Comprehensions in Python | HIE
Python'da List Comprehensions kullanarak uzun ifadeleri tek satıra indirebiliriz.
Tanım: [expression for (team, year) in teams if condition ]
Expression kısmı depolayacağımız elemanların tutulacağı geçici değişken.
Döngü kısmında ise (anahtar, değer) olarak liste elemanlarını ikililere ayırıyoruz.
Condition yani "Koşul" kısmında ise depolayacağımız elamanları neye göre belirleyeceğimizi belirliyoruz.
teams = [('fenerbahce', 1907), ('galatasaray', 1905), ('besiktas', 1903), ('basaksehir', 2014)]
Üstteki takımlar dizisinde 20. yüzyılda kurulanları bir araya alalım.
20. yüzyılda olanları bulmak için 1900 ile bölümünden kalanı 100'e eşit veya 100'den büyük olanları eleme şartı koşacağız.
ondokuz = [(team, year) for (team, year) in teams if year % 1900 < 100] => Bu döngüde gezinirken gelen "year" adlı geçici değişkenin 1900 ile bölümünden kalanı 100'den küçük ise, o an ki (team, year) ikilisini "ondokuz" isimli değişkene her seferinde ekle dedik, döngü sonunda bu ikilileri depo eden bir list halini alacak.
Çıktı: [('fenerbahce', 1907), ('galatasaray', 1905), ('besiktas', 1903)]
Gördüğünüz üzere ('basaksehir', 2014) ikilimiz dahil edilmedi. 1900 ile bölümünden kalanı 114 yani koşulumuza ters bir eylem sergiliyor.
Kod: https://paste.ofcode.org/Sn494KGJJx8Vbi2UnbnTB6
Yararlanılan kaynak: https://www.youtube.com/watch?v=AhSvKGTh28Q