Odak modu

Enumerate-Zip

Enumerate:


  • for ile non-scalar yapılar içerisinde dolaşırken ya elemanları ya da indexleri üzerinde dolanmıştık, ama neden ikisi de aynı anda olmasın?


  • Variable Unpacking konusunda bir tuple, liste gibi yapıların değerlerini birden çok değişkene bir seferde eşitlemeyi görmüştük.


  • Bunun aynısını iterasyonda da yapabiliriz.


l = [(1,2), (10,20)]


for e in l:
    print(e)



(1, 2)
(10, 20)


for e in l:
    a, b = e
    print(a)
    print(b)
    print("*********")



1
2
*********
10
20
*********


for a, b in l:
    print("tuple'ın ilk elemanı", a)
    print("tuple'ın ikinci elemanı", b)
    print("-----------------------------")



tuple'ın ilk elemanı 1
tuple'ın ikinci elemanı 2
-----------------------------
tuple'ın ilk elemanı 10
tuple'ın ikinci elemanı 20
-----------------------------


  • enumerate() bize (index, element) olarak verecek.


adlar = ['Tyler', 'Blake', 'Cory', 'Cameron']


for e in adlar:
    print(e)


Tyler
Blake
Cory
Cameron



for i, e in enumerate(adlar):
    print(i, "indexindeki eleman:", e)



0 indexindeki eleman: Tyler
1 indexindeki eleman: Blake
2 indexindeki eleman: Cory
3 indexindeki eleman: Cameron
  • enumerate() 0'dan başlamak zorunda değil, özellikle kaçtan başlayacağını belirtebiliriz.
for i, e in enumerate(adlar, start = 100):
    print(i, "lokasyonunda bulunan eleman:", e)


100 lokasyonunda bulunan eleman: Tyler
101 lokasyonunda bulunan eleman: Blake
102 lokasyonunda bulunan eleman: Cory
103 lokasyonunda bulunan eleman: Cameron


zip()


  • Farklı yapıların içinde paralel iterasyon yapmamızı sağlar. zip()
ogrenciler = ["ogrenci_1", "ogrenci_2", "ogrenci_3"]


notlar = [90,80,72]


for s, g in zip(ogrenciler, notlar):
    print(s, g)


for e in zip(ogrenciler, notlar):
    print(e)


for i in range(len(ogrenciler)):
    print(ogrenciler[i], notlar[i])


zip() Örnek:


# Her ayki karı hesaplamak
satis = [3500.00, 76300.00, 67200.00]



maliyet = [56700.00, 21900.00, 12100.00]



for i in range(len(maliyet)):
    s = satis[i]
    c = maliyet[i]
    
    kar = s - c
    print(f'Total profit: {kar}')


Total profit: -53200.0
Total profit: 54400.0
Total profit: 55100.0



satis = [3500.00, 76300.00, 67200.00]
maliyet = [56700.00, 21900.00, 12100.00]
for s, c in zip(satis, maliyet):
    kar = s - c
    print(f'Total profit: {kar}')


Total profit: -53200.0
Total profit: 54400.0
Total profit: 55100.0


zip() ile Dictionary Yaratmak:

keys = ['isim', 'soyad', 'ulke', 'is']
values = ['Denis', 'Walker', 'Turkey', 'data scientist']


d = {}


for k, v in zip(keys, values):
    d[k] = v


d



{'isim': 'Denis', 'soyad': 'Walker', 'ulke': 'Turkey', 'is': 'data scientist'}


d["isim"]



Background Pattern
Birlikte öğrenelim

Sektörde en çok aranan yazılım becerilerini kazan

Yapay zeka desteği, birebir mentörlük saatleri, canlı dersler ve senin için özel hazırlanmış içeriklerle eksiklerini tamamla, düzenli geri bildirimler al ve öğrenme sürecini en verimli hale getir.

Yunus Emre Kabakcı

Patika+ mezunu

Patika+ Fullstack Web Development Bootcamp mezunumuz Yunus Emre,

3 ay içinde Katar’dan aldığı teklif ile, global bir şirket olan Pavo Group’da işe başladı!


“İçerik zenginliği, mentor desteği, ileriye dönük bir network sağlaması ve dünyada en çok tercih edilen frameworkler üzerinden bir eğitim veriyor olması Patika+’ı tercih etmemin temel sebepleri oldu!“

Yorumlar

Yorum yapabilmek için derse kayıt olmalısın!

Bu dersi nasıl buldun?

This website uses cookies to ensure you get the best experience.

Disclaimer: The information /programs / events provided on https://patika.dev and https://risein.com are strictly for upskilling and networking purposes related to the technical infrastructure of blockchain platforms. We do not provide financial or investment advice and do not make any representations regarding the value, profitability, or future price of any blockchain or cryptocurrency. Users are encouraged to conduct their own research and consult with licensed financial professionals before engaging in any investment activities. https://patika.dev and https://risein.com disclaim any responsibility for financial decisions made by users based on information provided here.