koddla

Yazılımcıları bilgi ile güçlendirir.

Python enumerate() Fonksiyonu

Python’un enumerate() fonksiyonu listeler, tuplelar ve diğer yinelenebilir nesnelerle çalışmak için güçlü bir araçtır. Yinelenebilir nesne içinde döngü yaparken her bir öğenin indeksini kolayca takip etmenizi sağlar. Bu yazıda, enumerate() fonksiyonunun ne yaptığını, nasıl çalıştığını ve kodunuzda nasıl kullanabileceğinizi gözden geçireceğiz. Ayrıca bu fonksiyon için bazı yaygın kullanım durumlarını ele alıp kendi kendinize deneyebileceğiniz örnekler sunacağız.

enumerate() işlevi ne yapar?

enumerate() işlevi, yinelenebilir bir nesneyi (liste veya tuple gibi) alan ve nesnedeki her öğenin indeksini ve değerini içeren tuple’lar üreten bir yineleyici döndüren yerleşik bir Python işlevidir. Bu, nesne üzerinde döngü yaparken her bir öğenin indeksini kolayca takip etmenizi sağlar.

Örneğin, aşağıdaki sayı listesini göz önünde bulundurun:

sayilar = [1, 2, 3, 4, 5]

Bu listede döngü yapmak ve her öğenin indeksini ve değerini yazdırmak istiyorsanız, bir for döngüsü ve bir sayaç değişkeni kullanmanız gerekir:

indeks = 0
for sayi in sayilar:
    print(indeks, sayi)
    indeks += 1

Bu kod aşağıdaki çıktıyı verecektir:

0 1
1 2
2 3
3 4
4 5

enumerate() fonksiyonu ile bu işlemi basitleştirebilirsiniz:

for indeks, sayi in enumerate(sayilar):
    print(indeks, sayi)

Bu aşağıdaki çıktıyı oluşturacaktır:

0 1
1 2
2 3
3 4
4 5

Gördüğünüz gibi enumerate(), bir sayaç değişkenini manuel olarak artırmak zorunda kalmadan listedeki her bir öğenin indeksini kolayca takip etmenizi sağlar.

enumerate() fonksiyonu nasıl çalışır ve söz dizimi nedir?

enumerate() fonksiyonu ilk argüman olarak bir iterable nesnesi ve başlangıç indeksini belirten isteğe bağlı bir ikinci argüman alır. Başlangıç indeksi belirtilmezse, varsayılan değer 0 olur.

enumerate() fonksiyonunun söz dizimi aşağıdaki gibidir:

enumerate(iterable, start=0)

Fonksiyon, yinelenebilir dosyadaki her öğenin indeksini ve değerini içeren tuplelar oluşturan bir yineleyici döndürür. Daha sonra bir for döngüsü kullanarak yineleyici üzerinde döngü oluşturabilir ve her bir öğenin indeksine ve değerine erişebilirsiniz.

Örneğin, aşağıdaki kod enumerate() fonksiyonunu kullanarak bir sayı listesinde döngü yapar ve 1 indeksinden başlayarak her bir öğenin indeksini ve değerini yazdırır:

for indeks, sayi in enumerate(sayilar, 1):
    print(indeks, sayi)

Bu çıktı verecektir:

1 1
2 2
3 3
4 4
5 5

Örneklerle enumerate() fonksiyonunun kullanımı

Örnek 1: Bir liste içinde döngü oluşturma ve her öğenin indeksini ve değerini yazdırma

sayilar = [1, 2, 3, 4, 5]
for indeks, sayi in enumerate(sayilar):
    print(indeks, sayi)

Çıktı:

0 1
1 2
2 3
3 4
4 5

Örnek 2: Bir dize boyunca döngü oluşturma ve her karakterin indeksini ve değerini yazdırma

metin = "Merhaba Dünya!"
for indeks, harf in enumerate(metin):
print(indeks, harf)


Çıktı:
0 M
1 e
2 r
3 h
4 a
5 b
6 a
7
8 D
9 ü
10 n
11 y
12 a
13 !

Örnek 3: Aynı anda birden fazla yinelenebilir dosyada döngü oluşturmak için enumerate() işlevini zip() işleviyle birlikte kullanma

isimler = ["Ahmet", "Mehmet", "Hayri"]
yaslar = [25, 30, 35]

for indeks, (isim, yas) in enumerate(zip(isimler, yaslar)):
    print(indeks, isim, yas)

Çıktı:

0 Ahmet 25
1 Mehmet 30
2 Hayri 35

Örnek 4: Bir sözlükte döngü oluşturmak için dict() ile enumerate() işlevini kullanma

sehirler = {"Ankara": "Anatolia", "Istanbul": "Marmara", "Izmir": "Ege"}

for indeks, (sehir, bölge) in enumerate(sehirler.items()):
    print(indeks, sehir, bölge)

Çıktı:

0 Ankara Anatolia
1 Istanbul Marmara
2 Izmir Ege

Örnek 5: Mevcut bir listeden yeni bir liste oluşturmak için enumerate() işlevini ve bir list comprehension kullanma

sayilar = [1, 2, 3, 4, 5]
kareler = [x**2 for indeks, x in enumerate(sayilar)]
print(kareler)

Çıktı:

[1, 4, 9, 16, 25]

Gördüğünüz gibi, enumerate() fonksiyonu listeler, tuplelar ve diğer yinelenebilir nesnelerle çalışmayı daha kolay ve verimli hale getirmek için çeşitli şekillerde kullanılabilir.

Uygulama açısından bu işlev için yaygın kullanım durumları nelerdir?

enumerate() fonksiyonu genellikle aşağıdaki durumlarda kullanılır:

  • Bir liste veya başka bir yinelenebilir nesne üzerinde döngü yapmanız ve her öğenin indeksini takip etmeniz gerektiğinde.
  • zip() işlevini kullanarak aynı anda birden fazla yinelenebilir dosyada döngü yapmanız gerektiğinde.
  • Bir sözlükte döngü yapmanız ve hem anahtarlara hem de değerlere erişmeniz gerektiğinde.
  • Bir liste anlayışı kullanarak mevcut bir listeden yeni bir liste oluşturmak istediğinizde.
  • Bir dize boyunca döngü yapmak ve her karakterin hem indeksine hem de değerine erişmek istediğinizde.
  • Bir dosyada döngü yapmak istediğinizde, satır satır okuyarak ve satır numarasını takip ederek.

Gördüğünüz gibi, enumerate() kodunuzu daha verimli ve anlaşılması daha kolay hale getirebilecek kullanışlı bir işlevdir. enumerate() fonksiyonunun açıklaması bu kadar. Bu fonksiyonu kodunuzda birçok şekilde kullanabilir ve kodlama sürecinizi daha kolay ve verimli hale getirebilirsiniz.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Back to top