Cara Menggunakan Enumerate dengan Python (Perulangan dengan Indeks)

Pelajari cara menggunakan fungsi enumerate() dengan Python. Dapatkan indeks dan nilai saat mengulang daftar dengan contoh yang bersih.

Coba Solusi ini di Editor

Ikhtisar

Saat melakukan iterasi pada daftar, tupel, atau string, Anda sering kali perlu melacak indeks saat ini dari setiap item di samping item itu sendiri. Pola pemula yang umum adalah menggunakan variabel penghitung terpisah yang bertambah secara manual, atau menggunakan `range(len(my_list))` untuk melakukan iterasi melalui indeks. Namun, Python memberikan solusi yang jauh lebih elegan, pythonic, dan bawaan: fungsi `enumerate()`.

Fungsi `enumerate()` mengambil iterable apa pun sebagai argumen dan mengembalikan objek enumerate, yang menghasilkan pasangan tupel nilai indeks. Dengan menggunakan tuple unpacking dalam loop `for`, Anda dapat mengekstrak indeks dan item secara bersamaan. Ini sepenuhnya menghilangkan kebutuhan akan variabel penghitung manual dan tanda kurung pengindeksan, membuat kode Anda jauh lebih bersih dan tidak terlalu rentan terhadap kesalahan satu per satu.

Secara default, `enumerate()` mulai menghitung indeks dari `0`. Namun, Anda dapat meneruskan indeks awal khusus menggunakan argumen kata kunci `start` opsional (misalnya, `enumerate(items, start=1)`). Ini sangat berguna ketika menampilkan nomor daftar kepada pengguna manusia, karena orang biasanya mengharapkan daftar mulai menghitung dari 1, bukan 0.

Kode & Output Eksekusi

Skrip ini mendemonstrasikan iterasi daftar menggunakan enumerate untuk mendapatkan pasangan item indeks, mulai dari 0 dan 1.

use_enumerate.py
Coba di Editor
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}")
Keluaran Terminal
--- Standard Enumeration ---
Index 0: apple
Index 1: banana
Index 2: cherry

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

Implementasi Langkah demi Langkah

  • Teruskan daftar Anda (atau yang dapat diubah) ke fungsi enumerate() bawaan.
  • Buka kemasan tupel yang dikembalikan dalam perulangan for menggunakan sintaks untuk indeks, nilai dalam enumerasi (daftar).
  • Berikan parameter awal (misalnya, start=1) untuk mengubah nilai penghitung indeks awal.

Pertanyaan yang Sering Diajukan

Apakah enumerate() mengubah daftar asli?

Tidak, enumerate() mengembalikan objek iterator yang malas dan membiarkan daftar asli tidak diubah sepenuhnya.

Bisakah saya menggunakan enumerate() dengan kamus?

Ya, tetapi mengulangi kamus secara langsung akan menghasilkan kuncinya. Untuk mengulangi nilai kunci indeks, gunakan: for i, (k, v) in enumerate(my_dict.items()):.

Topik Terkait

Sumber Daya Python yang Direkomendasikan

Perluas pengetahuan Anda dengan tutorial interaktif terkait, lembar contekan, dan perbandingan kode.