Python'da Enumerate Nasıl Kullanılır (Endekslerle Döngü)

Python'da enumerate() işlevinin nasıl kullanılacağını öğrenin. Temiz örnekler içeren listeler üzerinde döngü yaparken hem dizini hem de değeri alın.

Bu Çözümü Editör'de deneyin

Genel Bakış

Bir liste, demet veya dize üzerinde yineleme yaparken, genellikle her öğenin geçerli dizinini öğenin kendisiyle birlikte izlemeniz gerekecektir. Başlangıç ​​seviyesindeki yaygın bir model, manuel olarak artırılan ayrı bir sayaç değişkeni kullanmak veya indeksler aracılığıyla yineleme yapmak için "range(len(my_list))" kullanmaktır. Ancak Python çok daha zarif, Pythonic ve yerleşik bir çözüm sunar: 'enumerate()' işlevi.

'enumerate()' işlevi yinelenebilir herhangi bir şeyi argüman olarak alır ve indeks değeri çiftleri üreten bir numaralandırma nesnesi döndürür. Bir "for" döngüsünde demet açmayı kullanarak, dizini ve öğeyi aynı anda çıkarabilirsiniz. Bu, manüel sayaç değişkenlerine ve indeksleme braketlerine olan ihtiyacı tamamen ortadan kaldırarak kodunuzu önemli ölçüde daha temiz hale getirir ve tek tek hatalara daha az eğilimli hale getirir.

Varsayılan olarak, `enumerate()`, indeksleri saymaya `0`dan başlar. Ancak, isteğe bağlı "start" anahtar kelime bağımsız değişkenini (ör. "enumerate(items, start=1)") kullanarak özel bir başlangıç ​​dizini iletebilirsiniz. İnsanlar genellikle listelerin 0 yerine 1'den sayılmaya başlamasını beklediklerinden, liste numaralarını insan kullanıcılara görüntülerken bu son derece faydalıdır.

Kod ve Yürütme Çıkışı

Bu komut dosyası, 0 ve 1'den başlayarak dizin öğesi çiftlerini almak için numaralandırmayı kullanarak listeler üzerinde yinelemeyi gösterir.

use_enumerate.py
Editör'de deneyin
fruits = ["apple", "banana", "cherry"]

# 1. Standard enumeration (starts at 0)
print("--- Standard Enumeration ---")
for index, fruit in enumerate(fruits):
    print(f"Index {index}: {fruit}")

# 2. Enumeration starting at a custom index (e.g., 1)
print("\n--- Starting at 1 ---")
for num, fruit in enumerate(fruits, start=1):
    print(f"Item #{num}: {fruit}")
Terminal Çıkışı
--- Standard Enumeration ---
Index 0: apple
Index 1: banana
Index 2: cherry

--- Starting at 1 ---
Item #1: apple
Item #2: banana
Item #3: cherry

Adım Adım Uygulama

  • Listenizi (veya yinelenebilir herhangi bir listeyi) yerleşik enumerate() işlevine iletin.
  • İndeks sözdizimini, enumerate(list) değerini kullanarak döndürülen demetleri bir for döngüsünde açın.
  • Başlangıç indeks sayacı değerini değiştirmek için başlangıç parametresini sağlayın (örn. start=1).

Sıkça Sorulan Sorular

enumerate() orijinal listeyi değiştirir mi?

Hayır, enumerate() tembel bir yineleyici nesnesi döndürür ve orijinal listeyi tamamen değiştirilmeden bırakır.

Enumerate() işlevini bir sözlükle kullanabilir miyim?

Evet, ancak bir sözlüğün üzerinde doğrudan yineleme yapmak onun anahtarlarını verecektir. Dizin-anahtar-değerini yinelemek için şunu kullanın: for i, (k, v) in enumerate(my_dict.items()):.

İlgili Konular

Önerilen Python Kaynakları

İlgili etkileşimli eğitimler, yardımcı sayfalar ve kod karşılaştırmalarıyla bilginizi genişletin.