Python for Döngüsü
Bu makalede, for döngüsünün farklı varyasyonlarını kullanarak bir dizi öğe üzerinde yineleme yapmayı öğreneceksiniz.
Python’da for döngüsü nedir?
Python’daki for döngüsü, bir dizi (list , tuple , string) veya diğer yinelenebilir nesneler üzerinde yineleme yapmak için kullanılır.
for Döngüsü için Sözdizimi:
1 2 3 | for eleman in elemanlar: #Döngü gövdesi pass |
Burada, “eleman” her yinelemede dizi içindeki öğenin değerini alan değişkendir.
Dizideki son öğeye ulaşana kadar döngü devam eder. for döngüsünün gövdesi, girinti kullanılarak kodun geri kalanından ayrılır.
For Dögüsü Akış Şeması:

Örnek: Döngü için Python
1 2 3 4 5 6 7 8 9 10 | # Bir listenin tüm elemanlarının toplamını bulan for döngüsü yazalım: sayilar = [6, 5, 3, 8, 4, 2, 5, 4, 11] # Sayı listesi toplam = 0 # Toplamı tutacak olan değişken for sayi in sayilar: toplam = toplam + sayi print("Toplam:", toplam) |
Programı çalıştırdığınızda çıktısı şöyle olacaktır:
1 | Toplam: 48 |
Python’da range() Fonksiyonu
range() fonksiyonu kullanarak bir dizi sayı üretebiliriz . range(10), 0’dan 9’a kadar (10 sayı) sayılar üretecektir.
Başlangıç, bitiş ve atlama aralığı da olarak tanımlayabiliriz range(baslangic, bitis,atlama_araligi). Fonksiyonda atlama_araligi girilmezse varsayılan olarak 1’dir.
Range fonksiyonu tüm değerleri bellekte saklamaz çünkü bellek açısından verimsiz olurdu. Başlangıç, bitiş ve atlama aralığını hatırlar. Böylece çalışırken sadece bir sonraki adıma odaklanır.
Bu işlevi tüm öğelerin çıktısını almaya zorlamak için list() fonksiyonunu kullanabiliriz.
Aşağıdaki örnek bunu netleştirecektir.
1 2 3 4 5 6 7 | print(range(10)) print(list(range(10))) print(list(range(2, 8))) print(list(range(2, 20, 3))) |
Çıktı
1 2 3 4 | range(0, 10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] [2, 3, 4, 5, 6, 7] [2, 5, 8, 11, 14, 17] |
Bir sayı dizisini yinelemek için range() fonksiyonunu döngülerde kullanabiliriz. Örneğin:
1 2 3 4 | kisiler = ['Ali', 'Samet', 'Cemre'] for i in range(len(kisiler)): print(kisiler[i],"bir isimdir.") |
Çıktı
1 2 3 | Ali bir isimdir. Samet bir isimdir. Cemre bir isimdir. |
else ile for Döngüsü Kullanımı
Bir for döngüsü isteğe bağlı bir else bloğuna da sahip olabilir. Döngü tamamlandıktan sonra else bloğu bir kez çalışır.
Bir for döngüsünü durdurmak için break komutu kullanılabilir. Bu gibi durumlarda kalan adımlar çalışmaz ve göz ardı edilir.
Bu nedenle, herhangi bir kesinti olmazsa for döngüsünün else kısmı çalışır.
İşte bunu göstermek için bir örnek.
1 2 3 4 5 6 | sayilar = [0, 1, 5] for sayi in sayilar: print(sayi) else: print("Hiçbir eleman kalmadı.") |
Programı çalıştırdığınızda çıktısı şöyle olacaktır:
1 2 3 4 | 0 1 5 Hiçbir eleman kalmadı. |
Döngü tamamlandıktan sonra else bloğu çalıştı ve istediğimiz metni yazdı.
break ile for Döngüsü Kullanımı
break ve for döngüsünü bir arada kullandığımız bir örnek yapalım:
1 2 3 4 5 6 7 8 9 | aranan_ogrenci = 'Mehtap' ogrenciler = ['Mercan', 'Mehtap', 'Fatih'] for ogrenci in ogrenciler: if ogrenci == aranan_ogrenci: print("Aranan Öğrenci Bulundu:",ogrenci) break print("Öğrenci:",ogrenci) |
Çıktı:
1 2 | Öğrenci: Mercan Aranan Öğrenci Bulundu: Mehtap |
Burada dikkat edilmesi gereken nokta son sırada bulunan “Fatih” isimli öğrencinin adının break komutundan dolayı yazılmamasıdır.
break ve else Komutlarının for Döngüsü ile Kullanımı
1 2 3 4 5 6 7 8 9 10 11 | aranan_ogrenci = 'Mehtap' ogrenciler = ['Mercan', 'Mehtap', 'Fatih'] for ogrenci in ogrenciler: if ogrenci == aranan_ogrenci: print("Aranan Öğrenci Bulundu:",ogrenci) break print("Öğrenci:",ogrenci) else: print("Aranan öğrenci listede bulunamadı.") |
Çıktı:
1 2 | Öğrenci: Mercan Aranan Öğrenci Bulundu: Mehtap |
Burada dikkat edilmesi gereken nokta break komutu dolayısıyla for döngüsü tamamlanamadığı için else bloğu da çalışmamıştır. Aranan öğrenci adını listede bulunmayan bir isim seçersek break komutu çalışmadığı için else bloğu devreye girecektir:
1 2 3 4 5 6 7 8 9 10 11 | aranan_ogrenci = 'Ahmet' ogrenciler = ['Mercan', 'Mehtap', 'Fatih'] for ogrenci in ogrenciler: if ogrenci == aranan_ogrenci: print("Aranan Öğrenci Bulundu:",ogrenci) break print("Öğrenci:",ogrenci) else: print("Aranan öğrenci listede bulunamadı.") |
Çıktı:
1 2 3 4 | Öğrenci: Mercan Öğrenci: Mehtap Öğrenci: Fatih Aranan öğrenci listede bulunamadı. |