Python

Gunakan Fungsi Enumerate dengan Python untuk Membuat Loop dengan Penghitung

Gunakan Fungsi Enumerate dengan Python untuk Membuat Loop dengan Penghitung

Artikel ini akan menjelaskan penggunaan fungsi "enumerate" yang tersedia di pustaka modul standar Python. Fungsi enumerate memungkinkan Anda untuk menetapkan "indeks" atau "hitungan" ke elemen dalam objek apa pun yang dapat diubah. Anda kemudian dapat menerapkan logika lebih lanjut pada mereka karena Anda akan memiliki akses ke kedua nilai dan jumlah yang dipetakan ke sana.

Sintaks dan Contoh Dasar

Jika Anda telah menggunakan loop “for” dalam bahasa pemrograman lain, terutama bahasa “C” dan bahasa lain yang memiliki sintaks gaya “C”, Anda mungkin telah menentukan indeks awal dalam loop. Untuk referensi, berikut adalah tampilan loop "untuk" di "C" dan bahasa lain yang memiliki sintaks serupa:

untuk (int i = 0; i < 10; i++)

printf("%d\n", i);

Pernyataan loop menginisialisasi variabel yang memiliki nilai nol, memeriksa bahwa itu kurang dari ambang batas dan menambahnya dengan satu hitungan setelah mengevaluasi logika di dalam blok loop (jika kondisi berhenti terpenuhi). Dengan cara ini Anda dapat menggunakan indeks dan menetapkannya ke objek apa pun yang direferensikan di blok loop Anda. Sebagai perbandingan, inilah tampilan for loop dengan hasil yang sama di Python:

untuk saya dalam rentang (0, 10):
cetak (i)

Fungsi "rentang" di Python memungkinkan Anda untuk menentukan urutan rentang angka yang memiliki langkah default 1. Anda dapat mengubah nilai langkah dengan memberikan argumen ketiga. Argumen kedua dalam fungsi "rentang" digunakan untuk mengatur ambang batas untuk kondisi berhenti. Kedua sampel kode menghasilkan output berikut:

0
1
2
3
4
5
6
7
8
9

Loop ini berfungsi dengan baik jika Anda hanya ingin menghasilkan beberapa urutan angka dan mengaitkannya dengan beberapa logika di dalam pernyataan loop. Namun, Anda mungkin harus menggunakan loop bersarang lain atau menggunakan fungsi "hasil" pada jenis apa pun yang dapat diubah untuk menetapkan mereka semacam jumlah yang dapat dilacak. Metode "enumerate" memudahkan untuk menetapkan indeks ke iterables dalam satu pernyataan, sehingga menghilangkan kebutuhan untuk menjalankan beberapa loop bersarang. Lihat contoh kode ini:

angka = ["nol", "satu", "dua", "tiga", "empat", "lima"]
enumerated_numbers = enumerate(angka)
untuk indeks, item dalam enumerated_numbers:
cetak (indeks, item)

Pernyataan pertama mendefinisikan variabel baru yang disebut "angka" dan menetapkan iterable (tipe daftar) untuk itu. Pernyataan kedua menunjukkan penggunaan fungsi "enumerate" di mana Anda memberikan iterable padanya sebagai argumen wajib. Pernyataan ketiga mengubah variabel "enumerated_numbers" menjadi objek tipe daftar. Secara default, fungsi "enumerate" menghasilkan objek tipe "enumerate" dan bukan tipe yang dapat diubah, jadi Anda harus mengonversinya. Setelah menjalankan contoh kode yang disebutkan di atas, Anda akan mendapatkan output berikut:

[(0, 'nol'), (1, 'satu'), (2, 'dua'), (3, 'tiga'), (4, 'empat'), (5, 'lima')]

Fungsi "enumerate" memberikan hitungan ke setiap elemen dalam tipe yang dapat diubah dan membuat tupel yang memiliki nilai berpasangan. Secara default, hitungan dimulai dari nol.

Sekarang setelah Anda menetapkan nomor untuk setiap elemen dalam tipe yang dapat diubah, Anda dapat dengan mudah mengulanginya tanpa menulis pernyataan bersarang:

angka = ["nol", "satu", "dua", "tiga", "empat", "lima"]
enumerated_numbers = enumerate(angka)
untuk indeks, item dalam enumerated_numbers:
cetak (indeks, item)

Contoh kode yang ditentukan di atas akan menghasilkan output berikut:

0 nol
1 satu
2 dua
3 tiga
4 empat
5 lima

Anda dapat membuat kode lebih pendek dengan menggunakan fungsi "enumerate" inline, seperti yang ditunjukkan pada contoh di bawah ini:

angka = ["nol", "satu", "dua", "tiga", "empat", "lima"]
untuk indeks, item dalam enumerate(angka):
cetak (indeks, item)

Menggunakan Enumerate dengan Indeks Awal yang Berbeda

Fungsi "enumerate" mengambil argumen opsional di mana Anda dapat menentukan indeks awal. Secara default adalah nol, tetapi Anda dapat mengubahnya dengan menggunakan argumen "mulai":

angka = ["satu", "dua", "tiga", "empat", "lima"]
untuk indeks, item dalam enumerate(numbers, start=1):
cetak (indeks, item)

Dalam pernyataan kedua, argumen "mulai = 1" digunakan untuk mengubah titik awal. Setelah menjalankan contoh kode yang ditentukan di atas, Anda akan mendapatkan output berikut:

1 satu
2 dua
3 tiga
4 empat
5 lima

Menetapkan Indeks dengan Langkah

Di bagian pertama artikel ini, sintaks untuk loop "untuk" dalam bahasa "C" ditampilkan di mana Anda dapat menentukan langkah-langkah antara setiap hitungan atau indeks berikutnya. Fungsi "enumerate" di Python tidak memiliki argumen seperti itu sehingga Anda tidak dapat menentukan langkah di antara hitungan. Anda memang dapat menulis logika Anda sendiri untuk mengimplementasikan langkah-langkah di dalam blok loop "untuk" yang disebutkan. Namun, ada cara untuk menerapkan langkah-langkah khusus dengan menulis kode minimal. Contoh berikut menunjukkan implementasi langkah-langkah menggunakan fungsi "zip" dan "range":

angka = ["nol", "dua", "empat", "enam"]
untuk indeks, item dalam zip(range(0, 7, 2), angka):
cetak (indeks, item)

Fungsi "zip" memungkinkan Anda membuat pasangan dengan mengambil elemen yang memiliki indeks yang sama dari dua atau lebih iterables. Jadi fungsi "zip" di sini mengambil elemen dari iterable yang dikembalikan dari fungsi "range(0, 7, 2)" dan elemen lain dari daftar "angka" dan kemudian memasangkan keduanya menjadi tuple. Hasil akhirnya adalah implementasi yang identik dengan fungsi "enumerate" tetapi dengan langkah-langkah khusus yang ditentukan sebagai argumen ketiga dalam fungsi "range(0, 7, 2)" (2 dalam kasus ini). Setelah menjalankan contoh kode yang ditentukan di atas, Anda akan mendapatkan output berikut:

0 nol
2 dua
4 empat
6 enam

Kesimpulan

Fungsi "enumerate" dalam Python memungkinkan Anda untuk menulis kode ringkas dengan menetapkan urutan angka ke elemen dalam objek yang dapat diubah. Ini sangat berguna jika Anda ingin melacak indeks item di dalam tipe yang dapat diubah. Jika Anda ingin "menghitung" jenis yang dapat diubah dengan langkah khusus, gunakan fungsi "zip" yang dijelaskan dalam contoh terakhir.

Alat Berguna untuk Gamer Linux
Jika Anda suka bermain game di Linux, kemungkinan besar Anda telah menggunakan aplikasi dan utilitas seperti Wine, Lutris, dan OBS Studio untuk mening...
Game Remaster HD untuk Linux yang Belum Pernah Rilis Linux Sebelumnya
Banyak pengembang dan penerbit game datang dengan remaster HD dari game lama untuk memperpanjang umur waralaba, harap penggemar meminta kompatibilitas...
Cara Menggunakan AutoKey untuk Mengotomatiskan Game Linux
AutoKey adalah utilitas otomatisasi desktop untuk Linux dan X11, diprogram dengan Python 3, GTK dan Qt. Dengan menggunakan skrip dan fungsionalitas MA...