Focus mode

Python Temel

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"]



Comments

You need to enroll in the course to be able to comment!