Menguasai enumerate() Python: Loop dengan Indeks untuk List, Tuple, String, dan Dictionary
Apa Itu enumerate() Python?
enumerate() adalah fungsi bawaan Python yang menambahkan counter ke iterable apa pun, mengembalikan iterator dari tuple (index, value). Menurut dokumentasi Python resmi, fungsi ini menyediakan cara yang ringkas dan efisien untuk mengakses posisi dan elemen selama iterasi.
Poin Utama
- Pahami sintaks dan parameter
enumerate(). - Pelajari cara menetapkan indeks awal kustom.
- Terapkan
enumerate() pada list, tuple, string, dan dictionary. - Kenali keuntungan performa dibandingkan pengindeksan manual.
Sintaks
enumerate(iterable, start=0)
Parameter
iterable: Objek apa pun yang mendukung iterasi. start (opsional): Nilai awal counter. Default adalah 0.
Nilai Kembali
Iterator yang menghasilkan pasangan dalam bentuk (index, element), di mana index dimulai dari start dan bertambah satu untuk setiap elemen.
Menggunakan enumerate() – Contoh Dasar
Di bawah ini adalah demonstrasi sederhana. List my_list dilewatkan ke enumerate(), dan iterator yang dihasilkan dikonversi ke list untuk ditampilkan.
my_list = ['A', 'B', 'C', 'D'] print(list(enumerate(my_list)))
Output:
[(0, 'A'), (1, 'B'), (2, 'C'), (3, 'D')]
Indeks Awal Kustom
Dengan menyediakan argumen start, Anda dapat menggeser penomoran:
my_list = ['A', 'B', 'C', 'D'] print(list(enumerate(my_list, 2)))
Output:
[(2, 'A'), (3, 'B'), (4, 'C'), (5, 'D')]
Looping dengan enumerate()
Menggunakan enumerate() di dalam loop for menjaga kode tetap bersih dan menghilangkan kebutuhan variabel counter terpisah.
my_list = ['A', 'B', 'C', 'D'] for index, value in enumerate(my_list): print(index, value) print("---") for index, value in enumerate(my_list, 10): print(index, value) Output:
0 A 1 B 2 C 3 D --- 10 A 11 B 12 C 13 D
Meng-Enumerate Tuple
Pola yang sama berlaku untuk tuple:
my_tuple = ('A', 'B', 'C', 'D', 'E') for index, value in enumerate(my_tuple): print(index, value) Output:
0 A 1 B 2 C 3 D 4 E
Meng-Enumerate String
String dapat diiterasi dalam Python, jadi enumerate() dapat mengungkapkan posisi setiap karakter:
my_str = "Guru99" for index, char in enumerate(my_str): print(index, char)
Output:
0 G 1 u 2 r 3 u 4 9 5 9
Meng-Enumerate Dictionary
Saat Anda melewatkan dictionary ke enumerate(), ia mengulang atas kunci:
my_dict = {"a": "PHP", "b": "JAVA", "c": "PYTHON", "d": "NODEJS"} for index, key in enumerate(my_dict): print(index, key) Output:
0 a 1 b 2 c 3 d
Menggunakan enumerate()?
- Ia memberikan indeks dan nilai dalam satu ekspresi yang mudah dibaca.
- Berbeda dengan memanggil
list.index() di dalam loop, yang melakukan pencarian O(n) setiap kali, enumerate() berjalan O(1) per iterasi, meningkatkan performa pada kumpulan besar. - Ia mengurangi kode boilerplate, meningkatkan kemudahan pemeliharaan dan mengurangi bug.
Ringkasan
enumerate() adalah fitur inti Python untuk memasangkan indeks dengan elemen iterable. - Ia menerima parameter
start opsional untuk menyesuaikan penomoran. - Dapat diterapkan pada list, tuple, string, dictionary, dan iterable apa pun.
- Menyediakan solusi satu lewat yang efisien untuk loop yang menyadari indeks.
- Ikuti dokumentasi resmi untuk detail penggunaan yang paling akurat dan terkini.