Looping and Enumerate
Dalam python, for loop biasanya ditulis sebagai loop di atas objek yang dapat diubah. Ini berarti Anda tidak memerlukan variable penghitungan untuk mengakses item di iterable. Namun, terkadang anda ingin memiliki variable yang berubah pada setiap iterasi loop. Daripada membuat dan menambah variable sendiri, Anda dapat menggunakan Python enumerate(). untuk mendapatkan penghitung dan nilai dari iterable secara bersamaan.
Dalam tutorial ini, Anda akan melihat cara:
- Gunakan enumerate() untuk mendapatkan penghitung dalam satu loop.
- Terapkan enumerate() untuk menampilkan jumlah item.
- Gunakan enumerate() dengan conditional statement.
- Terapkan fungsi setara anda sendiri ke enumerate().
- Buka paket nilai yang dikembalikan oleh enumerate().
Iterating With for Loops
Sebuah for loop di Python menggunakan iterasi berbasis koleksi. Ini berarti bahwa Python menetapkan item berikutnya dari iterable ke variable loop pada setiap iterasi, seperti contoh berikut ini:
>>>
>>> values = ["a", "b", "c"]
>>> for value in values:
... print(value)
...
a
b
c
Dalam contoh ini, values adalah list dengan 3 string, "a", "b", dan "c". Dalam python, list adalah salah satu jenis objek yang dapat diubah. Dalam for loop, variable loop adalah value. Pada setiap iterasi dari loop, value diatur ke item berikutnya dari values.
Selanjutnya, Anda mencetak value ke layar. Keuntungan dari iterasi berbasis koleksi adalah membantu menghindari kesalahan satu per satu yang umum terjadi pada bahasa pemrograman lain.
Sekarang bayangkan bahwa, selain nilai itu sendiri, Anda ingin mencetak index item dalam list ke layar pada setiap iterasi. Salah satu cara untuk mendekati tugas ini adalah dengan membuat variable untuk menyimpan index dan memperbaruinya pada setiap iterasi:
>>>
>>> index = 0
>>> for value in values:
... print(index, value)
... index += 1
...
0 a
1 b
2 c
Dalam contoh ini, index adalah bilangan bulat yang mencetak seberapa jauh anda masuk ke dalam list. Pada setiap iterasi loop, Anda mencetak index serta value. Langkah terakhir dalam loop adalah memperbarui nomor yang disimpan index satu per satu, Bug umum terjadi ketika anda lupa memperbarui index setiap iterasi:
>>>
>>> index = 0
>>> for value in values:
... print(index, value)
...
0 a
0 b
0 cDalam contoh ini, index tetap 0 pada setiap iterasi karna tidak ada kode untuk memperbarui nilainya di akhir loop. Khususnya untuk loop yang panjang atau rumit, jenis bug ini sangat sulit dilacak.
Using enumerate()
Menggunakan enumerate() dalam satu loop dengan cara yang hampir sama seperti anda menggunakan objek asli yang dapat diubah. Alih-alih meletakkan iterable langsung setelah for loop, Anda memasukkannya ke dalam tanda kurung enumerate(). Anda juga harus mengubah sedikit variable loop, seperti yang ditunjukkan pada contoh ini:
>>>
>>> for count, value in enumerate(values):
... print(count, value)
...
0 a
1 b
2 c
Saat anda menggunakan enumerate(), fungsi memberi anda kembali dua variable loop:
1. Hitungan iterasi saat ini.
2. Nilai item pada iterasi saat ini.
Sama seperti for loop normal, variable loop dapat diberi nama apa pun yang anda inginkan. Anda menggunakan count dan value dalam contoh ini, tetapi mereka dapat diberi nama i dan v atau nama Python lain yang valid.
Dengan enumerate(), Anda tidak perlu ingat untuk mengakses item dari iterable, dan anda tidak perlu ingat untuk memajukan index di akhir loop. Semuanya secara otomatis ditangani untuk anda oleh keajaiban Python.

Komentar
Posting Komentar