-
forile 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
- 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])# 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
keys = ['isim', 'soyad', 'ulke', 'is']
values = ['Denis', 'Walker', 'Turkey', 'data scientist']d = {}
for k, v in zip(keys, values):
d[k] = vd{'isim': 'Denis', 'soyad': 'Walker', 'ulke': 'Turkey', 'is': 'data scientist'}
d["isim"]