Öğe numarası ve iki listeyi eşlemek
İki liste yanyana durur: adlar lida sonra guest, içecekler water sonra tea. zip her listenin ilkini birlikte verir, sonra ikincisini, ve kısa liste bitince durur. enumerate her adın yanına bir numara koyar. Başka bir başlangıç vermezseniz o numara 0'dır. for hazır bir sıranın üzerinde yürüyordu. break ve continue numara vermez ve iki listeyi eşlemez.
names iki dizge tutar. enumerate(names) her turda bir numara ve bir ad verir. İlk numara 0'dır, çünkü başka başlangıç söylemediniz. print ikisini aynı satıra yazar.
names = ["lida", "guest"]
for number, name in enumerate(names):
print(number, name)
0 lida, sonra 1 guest görürsünüz. 0 ve 1 names içine geri yazılmaz. names yine iki dizgedir. Numara yalnızca o tura aittir.
Sayacı 1'den başlatın
1'i ikinci argüman olarak verin. enumerate(names, 1) yazar: 1 lida, sonra 2 guest. Adların sırası kımıldamaz. Yalnızca sayaç değişir. İkinci argümanı yazmazsanız yine 0'dan başlarsınız.
zip iki liste alır ve her birinden bir öğe, aynı sırayla. İlk ad lida, ilk içecek water'dır. Sonraki tur guest ile tea'dir. Burada numara yoktur, enumerate'i de çağırmazsanız. Bu program onu çağırmaz.
names = ["lida", "guest"]
drinks = ["water", "tea"]
for name, drink in zip(names, drinks):
print(name, drink)
lida water, sonra guest tea görürsünüz. Eşleşme listenin sırasındandır, adın anlamından değil. İçecekleri değiştirin, eşler de değişir.
Kısa liste döngüyü bitirir
drinks içine yalnızca water koyun. zip iki listenin başından başlar, bu yüzden ilk tur lida ile water'dır. İkinci içecek yoktur. zip bir tane uydurmaz ve hata da vermez. guest hiç ziyaret edilmez ve döngü biter.
names = ["lida", "guest"]
drinks = ["water"]
for name, drink in zip(names, drinks):
print(name, drink)
Tek satır lida water'dır. guest hâlâ names içindedir. Yanında içecek yoktu, bu yüzden bu döngü o ada varmadı.
Dört çağrı, ve her birinin yazdığı. enumerate satırları yalnızca başlangıçta ayrılır. zip satırları yalnızca drinks uzunluğunda.
📊 Her çağrı ne yazar
| Çağrı | Gördüğünüz |
|---|---|
| enumerate(names) | 0 ile lida, sonra 1 ile guest |
| enumerate(names, 1) | 1 ile lida, sonra 2 ile guest |
| zip, drinks water sonra tea | lida ile water, sonra guest ile tea |
| zip, drinks yalnızca water | lida ile water, sonra döngü biter |
Sonraki sayfa fonksiyon içindir: adı olan bir iş, sonra çağırabileceğiniz. Listeye numara vermez ve iki listeyi eşlemez.
Çalıştırmadan önce hesaplayın
- names, lida sonra guest'tir. enumerate(names) hangi satırları yazar?
- Başlangıcı 1 verirsiniz. İlk satır nedir?
- drinks, water sonra tea'dir. zip'in ikinci satırı nedir?
- drinks yalnızca water tutar. guest yazılır mı? Program hata ile durur mu?
Eşlerin karıştığı yer
- Başlangıç vermemişken 1'den başlamayı beklemek
- Numaranın listenin içine geri yazıldığını sanmak
- tea yakışıyor diye lida'yı tea ile eşlemek
- drinks tek öğeyken guest beklemek
- Erken durmayı hata sanmak
enumerate bir listeyi yürür ve numara ekler. Başlangıç yoksa numara 0'dır, sonra 1: 0 ile lida, sonra 1 ile guest. 1 verirseniz aynı adlar 1 ve 2 olarak gelir.
zip iki listeyi aynı adımda yürür. Uzunluklar eşitse lida water ile, sonra guest tea ile gelir. drinks yalnızca water tutarsa lida water yazılır ve döngü biter. guest names içinde kalır, bu döngü ona ulaşmaz.
Sonraki sayfa bir işe ad verir, çağırmanız için.
🧠 Bilginizi Test Edin
Bilginizi Test Edin
Bu interaktif sınavla kendini test et ve konuyu ne kadar iyi anladığını gör
📝 Talimatlar
- Her soruyu dikkatle okuyun
- Her soru için en iyi cevabı seçin
- Quiz'i istediğiniz kadar tekrar alabilirsiniz
- İlerlemeniz üstte gösterilecek