Python mendukung banyak objek yang dapat diubah: daftar, tupel, dan string hanyalah beberapa. Perulangan for Python cukup fleksibel untuk menangani objek-objek ini dengan mudah. Secara khusus, ini menyelamatkan Anda dari berurusan dengan indeks numerik dari setiap entri sendiri.

Namun terkadang, Anda ingin bekerja dengan indeks, misalnya untuk menghitung atau memfilter item dalam koleksi. Pelajari bagaimana Anda dapat menggunakan fungsi enumerate Python untuk mengulangi urutan sambil melacak indeks dan elemen.

Iterasi Tanpa menghitung()

Perhatikan daftar Python berikut.

my_fruits = ["apel", "pir", "pisang"]

Misalkan Anda ingin melacak jumlah setiap elemen dalam daftar. Anda bisa gunakan perulangan for dengan jangkauan() berfungsi seperti ini.

menghitung = 0

untuk buah di kisaran (len (buah_saya)):
print (hitungan, buah_saya[hitungan])
hitung += 1

Meskipun ini berfungsi, ia memiliki beberapa kekurangan:

  • Anda harus melacak hitungan di luar loop.
  • Anda harus menambah hitungan di setiap iterasi.
  • Anda harus menghitung panjang loop.
  • instagram viewer
  • jangkauan (len()) hanya berfungsi dengan objek yang dapat dihitung dan dapat diindeks.

Ada solusi yang lebih baik: fungsi enumerate() .

Bagaimana enumerate() Bekerja di Python

Python menghitung() fungsi mengambil pengumpulan data dan mengembalikan objek enumerate. Objek enumerate berisi penghitung sebagai kunci untuk setiap item yang dikandung objek. Itu menghitung() fungsi melakukannya dengan menetapkan setiap item hitungan. Hitungan ini sesuai dengan jumlah iterasi yang telah diselesaikan fungsi untuk mencapai nilai tersebut.

Penghitung ini memudahkan untuk mengakses item dalam koleksi atau bahkan mengubah koleksi jika memungkinkan.

Dengan menghitung(), Anda tidak perlu melacak panjang loop atau jumlah iterasi. Anda juga dapat menghindari mengakses nilai secara eksplisit menggunakan operator indeks, seperti buah-buahan[hitung]. Fungsi enumerate secara otomatis menangani semua fitur ini.

Sintaks Python enumerate()

Di bawah ini adalah sintaks umum untuk fungsi enumerate().

menghitung (dapat diubah, mulai =0)

enumerate() membutuhkan dua argumen:

  1. iterable: kumpulan data atau urutan yang dapat diulang oleh Python. Misalnya. daftar atau tupel.
  2. start: indeks tempat fungsi enumerate harus mulai menghitung.

Bagaimana enumerate() Diimplementasikan

Untuk memahami bagaimana menghitung() bekerja, mari kita lihat bagaimana itu benar-benar diterapkan.

defmenghitung(urutan, mulai =0):
n = mulai

untuk elemen di urutan:
menghasilkan n, elemen
n += 1

Fungsi ini, yang dapat Anda temukan di Python menghitung dokumentasi, mengambil urutan dan argumen awal yang defaultnya adalah 0.

Fungsi kemudian menginisialisasi variabel n ke variabel awal. Ini melacak jumlah iterasi.

Dalam perulangan for yang mengikuti untuk setiap elemen dalam barisan,

  • menghasilkan menghentikan eksekusi loop.
  • Itu juga mengembalikan hitungan saat ini (n), dan nilai (elem).
  • Ketika loop dilanjutkan, itu bertambah n.

Nilai kembalian adalah objek dari pasangan nilai kunci.

Jika Anda menelepon menghitung() fungsi dan berikan daftar buah-buahan, ini akan menjadi nilai output.

my_fruits = ["apel", "pir", "pisang"]
menghitung_objek = menghitung (buah_saya)
print (daftar (enumerate_object))

# keluaran - [(0, 'apel'), (1, 'pir'), (2, 'pisang')]

Menghitung Dengan Indeks Awal yang Berbeda

Dalam contoh di atas, kami tidak menentukan indeks awal. Contoh di bawah ini menunjukkan kepada Anda bagaimana Anda dapat mengatur indeks awal ke sejumlah pilihan Anda.

Untuk memulai pada 10, lakukan hal berikut.

menghitung_objek = menghitung (buah_saya, 10)
print (daftar (enumerate_object))

# keluaran - [(10, 'apel'), (11, 'pir'), (12, 'pisang')]

Python enumerate() Contoh

Berikut adalah beberapa contoh yang menunjukkan bagaimana Anda dapat menggunakan menghitung() di Python.

Menghitung String Python

Dalam contoh ini, Anda akan menggunakan enumerate untuk mengambil huruf pada indeks 5:

my_string = "makeuseof"

untuk menghitung, nilai di menghitung (my_string):
jika hitung == 5:
mencetak (nilai)

# keluaran - s

Menghitung Tuple Python

Anda juga bisa menggunakan menghitung() untuk mengulangi a tupel python. Dalam contoh ini, program mencetak header pada iterasi pertama, sebelum menampilkan item.

my_fruits_tuple = ("apel", "pir", "pisang")

untuk indeks, nilai di menghitung (my_fruits_tuple):
jika (indeks == 0):
print("Buah :")

cetak (nilai)

/*
Buah-buahan:
apel
buah pir
pisang
*/

Menghitung Daftar Python

Dalam contoh di bawah ini, Anda menggunakan enumerate untuk mengurangi semua angka dalam daftar di atas 10 dengan 2.

daftar_nomor_saya = [10, 17, 15, 6]

untuk indeks, nilai di menghitung (daftar_nomor_saya):
jika (nilai > 10):
my_number_list[indeks] -= 2

cetak (daftar_nomor_saya)

# keluaran - [10, 15, 13, 6]

Gunakan enumerate untuk Menghitung Iterables Anda

Python termasuk menghitung() sebagai fungsi bawaan. Anda dapat menggunakannya untuk mengulangi dan menghitung item dalam koleksi yang dapat diubah seperti daftar, tupel, atau string. Ini dapat membantu Anda melacak indeks sebenarnya dari setiap elemen, tetapi Anda juga dapat menentukan indeks awal Anda sendiri. Gunakan itu sebagai alternatif untuk jangkauan() berfungsi jika Anda bekerja dengan objek yang bukan objek yang dapat dihitung dan dapat diindeks.