Python'da For Döngüsü, değişkenleri döngüye sokarak programların çalışmasını sadeleştiren bir yapıdır Bu yazılım dili için oldukça önemli olan bu döngü türü hakkında bilgi sahibi olmak isteyenlere yönelik bir rehberdir Python'da For Döngüsü hakkında detaylı bilgi edinebilirsiniz
Python'da for döngüsü, programlama dilinin temel özelliklerinden biridir. Özellikle bir liste, demet ya da sözlük gibi veri yapıları üzerinde işlemler yapmak için for döngüsü oldukça kullanışlıdır. Bu makalede, for döngüsünün farklı kullanımlarından bahsederek, özellikle range, enumerate ve zip özelliklerinin nasıl kullanılabileceğini açıklayacağız.
Range fonksiyonu, belirli bir aralıktaki sayıları oluşturmayı sağlar. For döngüsünde bu fonksiyon çok sık kullanılır. Örnek olarak:
Örnek Kod | Çıktı |
---|---|
for i in range(1,6): print(i) | 12345 |
Anahtar-kelime ile birlikte for döngüsündeki index değerlerini de almak istiyorsak enumerate fonksiyonunu kullanırız. Böylece hem index hem de value değerlerine erişebiliriz. Örnek olarak:
Örnek Kod | Çıktı |
---|---|
numbers = [100, 200, 300]for index, number in enumerate(numbers): print(index, number) | 0 1001 2002 300 |
Zip fonksiyonu ise en az iki listenin index değerlerine göre eşleştirilmesini sağlar. Böylece her liste için aynı indeksteki elemanlar bir arada kullanılabilir. Örnek olarak:
Örnek Kod | Çıktı |
---|---|
list1 = [1, 2, 3]list2 = ['a', 'b', 'c']for a, b in zip(list1, list2): print(a, b) | 1 a2 b3 c |
Python'daki for döngüsü ve özellikleri, programlama işlemlerinde büyük kolaylık sağlar. Yukarıdaki örneklerde görülen range, enumerate ve zip fonksiyonları, özellikle veri yapıları üzerinde işlemler yaparken sıklıkla kullanılır.
Range Fonksiyonunun Kullanımı
Python dilinde döngüler, bir koşulun veya değerin belirli bir şekilde tekrarlanmasına izin verir. For döngüsü ise belirli bir işlemi belirli bir sayıda kez tekrar etmek için kullanılır. Bu döngüde, bir liste, demet veya dize tarafından elemanları sürekli alınır ve işlemin geri kalanı için kullanılır.
Bu işlem için kullanılan fonksiyonların başında range() fonksiyonu gelir. Bu fonksiyon, döngünün kaç kez çalışacağını belirlemek için kullanılır. Range fonksiyonunun kullanımı oldukça basittir. İlk olarak, döngünün kaç kez döneceğini belirleyen bir sayı belirleyin. Daha sonra, for döngüsüne range() fonksiyonunu ekleyin. Örneğin, 0'dan 10'a kadar sayıların yazdırıldığı bir döngü şu şekildedir:
for i in range(10): print(i)
Output: |
---|
0 1 2 3 4 5 6 7 8 9 |
Yukarıdaki örnek, for döngüsünde range() fonksiyonunun kullanımını açıkça göstermektedir. Bu fonksiyon ayrıca, döngüde kullanılacak başka bir sayıyı veya adım değerini belirleme olanağı da sağlar. Örneğin, 1 ile 10 arasındaki sayıları 2'şer artarak yazdırmak için kullanılan bir örnek şu şekildedir:
for i in range(1, 11, 2): print(i)
Output: |
---|
1 3 5 7 9 |
Bu örnekte, range() fonksiyonu 1'den 10'a kadar 2'şer artarak bir sayı oluşturur ve for döngüsü bu sayıları 1, 3, 5, 7 ve 9 olarak yazdırır.
Range fonksiyonu, belirli bir aralıkta sayıların yazdırılmasını sağlamak için for döngüsü ile birlikte sıklıkla kullanılır. Belirli bir aralıkta sayıların yazdırılmasını sağlama konusunda bu fonksiyon oldukça etkili bir araçtır.
Enumerate Fonksiyonunun Kullanımı
Python'da for döngüsü kullanımına yönelik özelliklerden biri de "enumerate" fonksiyonudur. Bu fonksiyon, bir iterable nesne üzerinde döngü yaparken, her bir öğenin indeks numarasına da erişim imkanı sağlar. Bu sayede, for döngüsü içinde hem öğelerle hem de indeks numaralarıyla ayrı ayrı işlemler yapılabilir.
Enumerate fonksiyonu, kullanımı oldukça basit olan bir fonksiyondur. Iterable bir nesne (örneğin, liste, demet, vb.) ve döngü içinde kullanılacak bir değişken tanımlandıktan sonra, for döngüsü içinde bu fonksiyon çağrılır. Bu fonksiyon, herbir döngü turu için, öğenin indeks numarasını ve kendisini bir demet halinde döndürür.
Enumerate fonksiyonu, özellikle liste veya demet içinde yer alan öğelerle ilgili, indeks numarası bilgisine erişim gerektiren işlemlerde oldukça kullanışlıdır. Ayrıca, for döngüsü içinde birden fazla indisle çalışarak, listenin sıralı bir şekilde işlenmesi de herhangi bir zorluk teşkil etmez.
Mesela, bir öğrenci listesi içinde, her bir öğrencinin ismini ve o öğrencinin ortalamasını hesaplayarak, ekrana yazdırmak istediğimizde, enumerate fonksiyonunu kullanabiliriz. Bunun için, öncelikle öğrencilerin isimlerini bir liste olarak tanımlayacağız. Ardından, for döngüsü içinde, her bir öğrencinin notlarının kaydedildiği bir başka listenin indeksleri ile birlikte enumerate fonksiyonunu kullanarak, hem öğrenci ismini hem de ortalamasını yazdırabiliriz.
ogrenciler = ["Ahmet", "Mehmet", "Asli"] |
notlar = [[70,80,85], [80,90,95], [90,95,95]] |
for i, ogrenci in enumerate(ogrenciler): |
ortalama = sum(notlar[i])/len(notlar[i]) |
print(i+1, ogrenci, "ortalaması: ", ortalama) |
Bu örnekte, öğrenci listesi "ogrenciler" olarak tanımlandı ve öğrencilere ait notlar "notlar" adında bir liste içine kaydedildi. For döngüsü içinde ise, her bir öğrencinin ismi için bir indeks numarası "i" değeri ile birlikte enumerate fonksiyonu çağrıldı. Bu sayede, her bir öğrenci ismi için, notlar listesi içinde o öğrenciye ait notların indeksi "i" değeriyle birlikte elde edilmiş oldu. Sonrasında, herbir öğrencinin notları toplamı alınıp, notların uzunluğu ile bölünerek ortalamaları hesaplandı ve sonuçlar ekrana yazdırıldı.
Enumerate Kullanırken İndexlerin Başlangıç Değeri Belirleme
Python'da enumerate fonksiyonunu kullanırken, genellikle indexlerin değeri sıfırdan başlar. Ancak bazen başlangıç değeri istenilen farklı bir değer olabilir. Bu durumda, enumerate fonksiyonu kullanırken başlangıç değeri belirlenebilir. Nasıl yapılacağına ilişkin örnekler aşağıda verilmiştir.
Kodu | Çıktısı |
---|---|
cities = ['Istanbul','Ankara','Izmir','Bursa'] for index, city in enumerate(cities, start=1): print(index, city) | 1 Istanbul 2 Ankara 3 Izmir 4 Bursa |
names = ['Ali', 'Ayşe', 'Mehmet'] for index, name in enumerate(names, start=5): print(index, name) | 5 Ali 6 Ayşe 7 Mehmet |
Yukarıdaki örneklerde, enumerate fonksiyonu kullanarak indexlerin sıfırdan farklı bir değer ile başladığı görülmektedir. İlk örnekte, 'start=1' parametresi kullanılarak, index değerleri 1'den başlayacak şekilde belirlenmiştir. İkinci örnekte ise 'start=5' parametresi kullanılarak, index değerleri 5'ten başlayacak şekilde belirlenmiştir.
Enumerate Kullanarak İtem ve İndex Değerlerini Yazdırma
Enumerate fonksiyonu, girdi olarak verilen bir iterable'ın indeks numaralarını ve bu indeks numaralarının karşılık geldiği öğeleri döndürür. Bu sayede for döngüsü ile birlikte kullanarak hem öğeleri hem de indeks numaralarını aynı anda yazdırmak mümkündür.
Bir örnek vermek gerekirse;
Öğe | İndeks |
---|---|
{{ item }} | {{ i }} |
Bu tabloda görülebileceği gibi, enumerate fonksiyonu for döngüsü içinde kullanılarak öğeler ve indeks numaraları aynı anda yazdırılmıştır.
Benzer şekilde, bir liste içindeki negatif sayıları bulmak için de enumerate fonksiyonu kullanılabilir. Örneğin;
- {% for i, num in enumerate([-1, 2, -3, 4, -5]) %} {% if num < 0 %}
- {{ i }}. index numarasındaki {{ num }} negatif sayıdır. {% endif %} {% endfor %}
Bu örnekte, liste içindeki negatif sayılar enumerate fonksiyonu ile bulunup yazdırılmıştır.
Enumerate fonksiyonu, farklı şekillerde kullanılarak programlamada kolaylık sağlayan bir yapıdır. Hem öğeleri hem de indeks numaralarını aynı anda yazdırmak için kullanılabileceği gibi, başlangıçta belirlenen bir indeks numarası ile de kullanılabilmektedir. Bu sayede liste veya veri yapıları üzerindeki işlemler daha pratik hale getirilebilmektedir.
Enumerate Kullanarak İf Koşulu Kurma
Enumerate fonksiyonu, for döngüsü içinde bir liste üzerinde gezinirken hem listenin index değerleri hem de elemanlarına erişmemizi sağlar. Bu sayede, if koşulu kurarken listenin sadece belirli elemanlarını seçebiliriz. Örneğin, aşağıdaki kod parçasında sadece çift sayıları seçtiğimizi ve ekrana bastırdığımızı görebilirsiniz:
sayilar = [2, 5, 8, 12, 15, 17, 20] for index, sayi in enumerate(sayilar): if sayi % 2 == 0: # sadece çift sayıları seçiyoruz print("Index:", index, "Çift sayı:", sayi)
Yukarıdaki kod parçası, sayilar listesi üzerinde gezinirken sadece çift sayıları seçiyor ve bu sayıların hem index değerlerini hem de kendilerini ekrana basıyor. Böylece, enumerate fonksiyonunu if koşulu kurarken kullanarak istediğimiz elemanlara erişebiliriz.
Zip Fonksiyonunun Kullanımı
Python'da for döngüsü için kullanışlı bir fonksiyon olan zip, iki ya da daha fazla listeyi eşleştirerek birleştirmek için kullanılır. Böylece listedeki elemanları bir arada işlemek çok daha kolay hale gelir. Zip fonksiyonu, tıpkı enumerate fonksiyonu gibi for döngüsü ile birlikte kullanılarak listelerde gezinti yapmak için büyük kolaylık sağlar.
Zip fonksiyonunun kullanımı oldukça basittir. İki ya da daha fazla liste, zip fonksiyonuna parametre olarak aktarılır ve her bir liste elemanı sırayla bir araya getirilerek tuple haline getirilir. Bu tuple'lar ise for döngüsü ile birlikte kullanılarak istenilen işlem yapılabilir. Dikkat edilmesi gereken nokta, zip fonksiyonu ile birleştirilen listelerin eleman sayısının aynı olmasıdır.
Bazen farklı boyutlarda olan listeleri birleştirmek gerekebilir. Zip fonksiyonu bu durumda son listeye en küçük liste eleman sayısı kadar eleman ekler ve diğer elemanları atlar. Örneğin, şöyle bir örnek verelim:
İlk Liste | İkinci Liste |
---|---|
1 | 'a' |
2 | 'b' |
3 | 'c' |
Eğer bu iki listeyi birleştirirsek:
for i, j in zip([1,2,3], ['a', 'b']): print(i,j)
Sonuç olarak sadece ilk iki eleman birleştirilir:
1 'a'2 'b'
Zip fonksiyonu aynı zamanda tuple listesi de oluşturabilir. Üç adet liste düşünelim:
- isimler = ['Ali', 'Ayşe', 'Merve']
- yas = [24, 32, 19]
- cinsiyet = ['Erkek', 'Kadın', 'Kadın']
Bu üç listeyi zip fonksiyonu ile birleştirerek tuple listesi oluşturabiliriz:
liste = list(zip(isimler, yas, cinsiyet))print(liste)
Sonuç:
[('Ali', 24, 'Erkek'), ('Ayşe', 32, 'Kadın'), ('Merve', 19, 'Kadın')]
Zip fonksiyonunun bir komutu veya fonksiyonu yoktur, yalnızca bir kolaylık sağlar. Python'da bulunan bu fonksiyon ile farklı boyutlardaki listeleri birleştirebilir, tuple listesi oluşturabilir ve çok daha fazlasını yapabilirsiniz.
Zip ile Farklı Boyutlardaki Listeleri Birleştirme
Python'da for döngüsü kullanırken bir liste içindeki elemanları tek tek elde etmek için range ve enumerate özellikleri gibi farklı özellikler kullanılabilir. Bununla birlikte, bazı durumlarda farklı boyutlara sahip listeleri birleştirmek gerekebilir.
Bu durumda, zip fonksiyonu kullanılarak farklı boyutlara sahip listeler birleştirilebilir. Zip fonksiyonu, farklı boyutlara sahip listelerdeki elemanları birleştirmek için kullanılır. Her liste için sırayla elemanlar birleştirilir ve yeni bir liste oluşturulur.
Örneğin, aşağıdaki iki liste farklı boyutlara sahiptir:
Liste 1 | Liste 2 |
---|---|
1 | a |
2 | b |
3 | c |
Zip fonksiyonu kullanılarak bu iki liste birleştirilebilir:
- zip(a, b)
Sonuç olarak şu liste elde edilir:
- (1, 'a')
- (2, 'b')
- (3, 'c')
Bu örnekte, her iki listedeki elemanlar birleştirilerek yeni bir liste oluşturuldu. Listelerin farklı boyutlarına rağmen, zip fonksiyonu sayesinde elemanlar başarılı bir şekilde birleştirildi.
Zip ile Tuple Listesi Oluşturma
Zip fonksiyonu, birden fazla listenin elemanlarını birleştirir ve her bir liste elemanı için bir tuple oluşturur. Bu nedenle, tuple listeleri oluşturmak için kullanılabilir.
Örneğin, iki farklı liste var:
listA | listB |
1 | a |
2 | b |
3 | c |
Zip fonksiyonu bu listeleri birleştirerek tuple listesi oluşturabilir:
- [(1, 'a'), (2, 'b'), (3, 'c')]
Bu tuple listesi, her bir elemanın ilk öğesi listA'dan, ikinci öğesi listB'den alınarak oluşturuldu. Bu şekilde, farklı listelerdeki verileri birleştirmek isteyenler için zip fonksiyonu oldukça faydalıdır.
Zip fonksiyonu kullanılarak oluşturulan tuple listeleri, liste işlemleri yapmak için kullanılabilir. Bu sayede, verileri tutmak için birden fazla farklı listeye ihtiyaç duymadan kullanışlı bir yapı oluşturulabilir.
Sonuç
Python'da for döngüleri, farklı kullanım alanları ve fonksiyonlarla oldukça kapsamlı bir programlama alanıdır. Range, enumerate ve zip gibi fonksiyonlar, for döngülerinde sıklıkla kullanılan özelliklerdir. Range fonksiyonu, belirli bir aralıktaki sayıları belirleyerek kullanışlı bir özellik sunar. Öte yandan enumerate fonksiyonu, hem item hem de index değerlerini döndürür ve programcılara pratik bir araç sunar. Zip fonksiyonu ise farklı boyutlardaki listeleri birleştirme işlemlerinde oldukça kullanışlıdır.
Makalemizde range, enumerate ve zip fonksiyonlarının farklı kullanım alanlarına geniş örneklere yer verilmiştir. Bu örnekler, programcıların for döngüleri ve bu fonksiyonlar hakkında daha kapsamlı bilgi sahibi olmasını sağlayacaktır. Range fonksiyonu belirli aralıklardaki sayıların döngülerde kullanımını kolaylaştırırken, enumerate fonksiyonu item ve index değerlerinin tek seferde alınmasına imkan verir. Zip fonksiyonu ise farklı boyutlara sahip listelerin birleştirmesi açısından önemlidir.
Python'da for döngüleri başarıyla kullanarak, programlama işlemlerinde daha pratik ve etkili çözümler bulmak mümkündür. Bu fonksiyonları öğrenen programcılar, kodlama süreçlerinde daha verimli olabilir ve çeşitli işlemleri daha hızlı gerçekleştirebilirler.