Python Enumerate: Penjelasan Dengan Contoh

Python Enumerate: Penjelasan Dengan Contoh

Bekerja dengan senarai dan objek boleh lelar lain adalah tugas biasa dalam pengaturcaraan Python . Kadangkala, anda mungkin perlu mengulangi iterables ini sambil menjejaki indeks atau kiraan elemen semasa. Di situlah fungsi enumerate() terbina dalam Python datang untuk menyelamatkan.

Fungsi enumerate() dalam Python menyediakan anda dengan cara yang mudah untuk mengakses kedua-dua indeks item dan item itu sendiri apabila anda mengulangi senarai, atau sebarang objek yang boleh diubah.

Python Enumerate: Penjelasan Dengan Contoh

Fungsi ini menjadikan kod anda lebih Pythonic , boleh dibaca dan cekap. Ia membolehkan anda mengulang elemen dan mendapatkan kedua-dua indeks dan nilainya. Daripada memulakan dan menambah pembilang secara manual dalam gelung, anda boleh bergantung pada enumerate() untuk melakukan kerja untuk anda.

Dalam artikel ini, anda akan mempelajari tentang fungsi enumerate() fungsi terbina dalam Python, kepentingannya dalam kod Python anda dan kes penggunaannya.

Mari kita masuk ke dalamnya!

Isi kandungan

Apakah Fungsi Python Enumerate?

Bayangkan anda sedang bekerja dengan struktur data senarai dan anda ingin melakukan sesuatu dengan setiap item, tetapi anda juga perlu mengetahui kedudukan item dalam senarai.

Tanpa Python enumerate(), anda mungkin memutuskan untuk menggunakan pembolehubah pembilang yang anda tambah dalam setiap lelaran gelung. Tetapi pendekatan ini mungkin terdedah kepada ralat dan ia tidak begitu "Pythonic".

Enumerate ialah fungsi terbina dalam Python yang membolehkan anda mengulangi objek boleh lelaran sambil menjejaki indeks item semasa.

Sekarang setelah anda memahami fungsi enumerate() dalam Python, mari kita beralih kepada sintaks fungsi Python enumerate() dalam bahagian seterusnya!

Apakah Sintaks Fungsi Enumerate Python?

Sintaks fungsi mentakrifkan cara anda harus menggunakan fungsi itu dalam kod anda, termasuk argumen yang diperlukan dan apa yang dipulangkan.

Python Enumerate: Penjelasan Dengan Contoh

Fungsi enumerate () mengambil sintaks berikut:

enumerate(, start=0)
  • : Ini ialah parameter yang diperlukan dan boleh menjadi mana-mana Python yang boleh diubah, seperti senarai atau tuple.

  • mula : Parameter kedua ini ialah parameter pilihan yang menentukan nilai permulaan pembilang. Secara lalai, ia ditetapkan kepada 0.

Nilai pulangan fungsi enumerate() ialah objek enumerate, yang merupakan iterator yang mempunyai pasangan (indeks, elemen) untuk setiap item dalam iterable yang diberikan.

Anda boleh menggunakan iterator ini dalam gelung for untuk mengakses kedua-dua indeks dan item secara serentak.

Contoh berikut menunjukkan cara anda boleh menggunakan fungsi enumerate() dengan senarai:

fruits = ['apple', 'banana', 'cherry']

for index, item in enumerate(fruits):
    print(index, item)

Dalam contoh ini, enumerate() menggelung melalui objek enumerate, iaitu, senarai buah-buahan , dan memberikan indeks kepada setiap item, bermula dari 0.

Gelung for kemudian membongkar indeks dan item daripada objek terhitung. Ini membolehkan anda melakukan operasi berdasarkan kedua-dua indeks dan nilai item.

Kami menggunakan fungsi cetakan untuk mencetak indeks dan item ke skrin. Output kod diberikan dalam imej di bawah:

Python Enumerate: Penjelasan Dengan Contoh

Dalam output, anda boleh melihat bahawa indeks permulaan ialah 0. Ini ialah nilai lalai indeks yang diberikan secara automatik oleh penterjemah Python.

Walau bagaimanapun, anda juga boleh menentukan nilai permulaan yang berbeza untuk kaunter dengan menyediakan parameter permulaan pilihan seperti yang ditunjukkan dalam kod di bawah:

for index, item in enumerate(fruits, start=1):
    print(index, item)

Output akan serupa dengan yang di atas. Satu-satunya perbezaan ialah indeks kini bermula pada 1.

Python Enumerate: Penjelasan Dengan Contoh

Jadi sekarang anda mempunyai pegangan pada sintaks fungsi enumerate() dalam Python. Tetapi, seperti mana-mana alat, penting untuk mengetahui bila dan di mana untuk menggunakannya.

Itulah sebabnya kita akan meneroka beberapa kes penggunaan biasa untuk fungsi enumerate() dalam bahagian seterusnya!

5 Kes Penggunaan Fungsi Enumerate Python

Fungsi enumerate dalam Python digunakan secara meluas dalam senario di mana kedua-dua indeks dan nilai objek boleh lelar adalah penting kepada pengaturcara.

Kami telah menyenaraikan beberapa kes penggunaan biasa untuk menghitung fungsi dalam Python di bawah.

1. Cara Menggunakan Enumerate dengan Senarai Python

Dalam Python, senarai ialah struktur data terbina dalam yang membolehkan anda menyimpan berbilang item dalam satu pembolehubah. Fikirkan senarai sebagai bekas tempat anda boleh meletakkan item yang berbeza, dan mereka mengekalkan pesanan mereka.

Fungsi enumerate() boleh digunakan pada senarai dalam pelbagai cara, seperti:

A. Mengakses Elemen Senarai dan Indeksnya dengan Python Enumerate

Salah satu kes penggunaan yang paling biasa untuk enumerate() ialah apabila anda perlu mengakses kedua-dua elemen senarai dan indeksnya. Enumerate membolehkan anda melakukan ini dengan cara yang bersih dan cekap.

Berikut ialah contoh mengakses elemen senarai dan indeksnya:

fruits = ['apple', 'banana', 'mango', 'grape', 'orange']
for index, fruit in enumerate(fruits):
    print(f"At index {index}, the fruit is {fruit}.")

Output kod ini diberikan dalam imej di bawah:

Python Enumerate: Penjelasan Dengan Contoh

B. Mengubahsuai Elemen Senarai dengan Python Enumerate

Apabila anda perlu mengubah suai elemen senarai berdasarkan indeksnya, enumerate() ialah alat yang sangat baik. Anda boleh mengakses indeks dalam gelung dan menggunakannya untuk mengubah suai senarai.

Berikut ialah contoh mengubah suai elemen senarai dengan fungsi enumerate:

numbers = [1, 2, 3, 4, 5]

for i, num in enumerate(numbers):
    numbers[i] = num * 2

Kod Python ini mencipta senarai nombor dari 1 hingga 5. Kemudian, ia menggunakan gelung for dan fungsi enumerate() untuk melelakan senarai.

Untuk setiap lelaran, ia mendarabkan nombor semasa (bilangan) dengan 2 dan menetapkannya semula ke kedudukan yang sama dalam senarai (nombor[i]).

Hasilnya ialah setiap nombor dalam senarai asal digandakan seperti yang ditunjukkan dalam imej di bawah:

Python Enumerate: Penjelasan Dengan Contoh

C. Membandingkan Elemen dalam Dua Senarai dengan Python Enumerate

Jika anda membandingkan elemen dalam dua senarai berbeza, enumerate() boleh menyediakan indeks yang anda perlukan untuk mengakses elemen dalam kedua-dua senarai pada masa yang sama.

Berikut ialah contoh penggunaan fungsi enumerate untuk membandingkan elemen dalam dua senarai:

list1 = [1, 2, 3, 4, 5]
list2 = [1, 2, 3, 0, 5]
for i, value in enumerate(list1):
    if value != list2[i]:
        print(f"Difference at index {i}: {value} (list1) vs {list2[i]} (list2)")

Dalam kod ini, kami mula-mula mentakrifkan dua senarai, senarai1 dan senarai2. Kemudian, kita lelaran melalui list1 menggunakan gelung for dengan enumerate(), yang menyediakan indeks (i) dan nilai setiap item.

If the current item in list1 doesn’t match the corresponding item in list2, it prints the index of the difference and the differing values from both lists.

The result of this code is shown below:

Python Enumerate: Penjelasan Dengan Contoh

2. How to Use Enumerate with Python Tuples

A tuple in Python is an ordered collection of elements, similar to a list. The only difference is that a tuple is immutable, meaning you can’t change its content after creation.

The following are some of the cases where you can use enumerate with Python tuples.

A. Using Python Enumerate() to Find an Element in a Tuple

When dealing with tuples in Python, you might often need to find if an element exists in a tuple.

The following example code demonstrates using enumerate to find elements in a tuple:

fruits = ('apple', 'banana', 'mango', 'grape', 'orange')
for i, fruit in enumerate(fruits):
    if fruit == 'mango':
        print(f"'mango' found at position {i}")

This code will print “‘mango’ found at position 2” because ‘mango’ is at index 2 in the tuple.

Python Enumerate: Penjelasan Dengan Contoh

B. Using Python Enumerate() to Create a Dictionary from a Tuple

If you’ve got a tuple and you need to transform it into a dictionary, Python’s enumerate() function can be your go-to tool.

The example code shows how you can create a dictionary from a tuple using enumerate:

fruits = ('apple', 'banana', 'mango', 'grape', 'orange')

fruit_dict = {i: fruit for i, fruit in enumerate(fruits)}
print(fruit_dict)

This code will print a dictionary where the keys are the indices and the values are the elements from the tuple.

Python Enumerate: Penjelasan Dengan Contoh

3. How to Use Enumerate with Python Dictionaries

In Python, a dictionary is a mutable, unordered collection of key-value pairs, where each key must be unique. Think of it as a real-life dictionary: you look up a word (the key) and get its definition (the value).

Following are some of the cases where you can use enumerate with Python dictionaries:

A. Looping Through Keys and Values of a Dictionary

Anda boleh menggunakan fungsi enumerate() untuk menggelung kekunci dan nilai kamus.

Fungsi enumerate() menambah pembilang pada objek boleh lelaran (seperti kamus), membolehkan anda mengakses nilai indeks semasa.

Contoh fungsi enumerate dengan kamus Python diberikan di bawah:

example_dict = {1: 'a', 2: 'b', 3: 'c', 4: 'd'}
for i, k in enumerate(example_dict):
    print(i, k)

Dalam kod Python ini, kami mula-mula mencipta kamus yang dipanggil example_dict. Kemudian, kami menggunakan fungsi enumerate() untuk mengulangi kamus.

Untuk setiap lelaran, kami mencetak kiraan gelung (yang diberikan oleh i dan bermula dari 0) dan kunci semasa (iaitu k) daripada kamus.

Python Enumerate: Penjelasan Dengan Contoh

B. Menggabungkan Python Enumerate dengan Fungsi Item

Anda juga boleh mengakses kedua-dua kunci dan nilai kamus melalui fungsi item() bersama-sama dengan enumerate() . Fungsi item() mengembalikan koleksi pasangan nilai kunci yang boleh diubah sebagai tupel.

Contoh di bawah menunjukkan cara anda boleh menggunakan fungsi item() dengan enumerate() :

example_dict = {1: 'a', 2: 'b', 3: 'c', 4: 'd'}
for i, (k, v) in enumerate(example_dict.items()):
    print(i, k, v)

Dalam kod ini, kami mencipta kamus bernama example_dict , kemudian kami menggunakan fungsi enumerate() untuk mengulangi pasangan nilai kunci kamus. Semasa setiap lelaran, kami mencetak indeks gelung 'i', kunci semasa 'k', dan nilai yang sepadan 'v'.

Python Enumerate: Penjelasan Dengan Contoh

Anda kini mempunyai pemahaman yang kukuh tentang cara menggunakan fungsi enumerate() Python dalam beberapa senario biasa. Tetapi enumerate() mempunyai lebih banyak lagi untuk ditawarkan.

Mari kita selami beberapa kes penggunaan lanjutan yang mengelilingi enumerate() dalam bahagian seterusnya!

3 Kes Penggunaan Lanjutan Python Enumerate

Dalam bahagian ini, kita akan melampaui asas dan meneroka beberapa kes penggunaan lanjutan fungsi enumerate dalam Python.

Kami akan meliputi kes penggunaan berikut:

  1. Menggunakan Enumerate dengan Kelas Python

  2. Menggunakan Enumerate dengan Kelas Enum

  3. Menggunakan Enumerate untuk Pembalikan Pesanan

Mari kita masuk ke dalamnya!

1. Menggunakan Kelas Enumerate dengan Python

Dalam perjalanan pengaturcaraan Python anda, anda mungkin menemui situasi di mana anda ingin menggunakan enumerate dengan kelas tersuai.

Untuk mencapai matlamat ini, kelas anda harus melaksanakan kaedah iter() , yang membolehkannya boleh diulang.

Pertimbangkan warna kelas yang menyimpan nama warna dan nilai heks yang berkaitan:

class Color:
    def __init__(self, colors: dict):
        self.colors = colors

    def __iter__(self):
        return iter(self.colors.items())

colors = Color({"red": "#FF0000", "green": "#00FF00", "blue": "#0000FF"})

for index, (name, hex_value) in enumerate(colors):
    print(f"{index}: {name} => {hex_value}")

Dalam kod ini, kami mencipta kelas Warna yang mengambil kamus nama warna dan nilai heksadesimal yang sepadan.

Apabila anda menggunakan enumerate() dalam gelung, ia menyediakan indeks bersama-sama dengan setiap pasangan nilai kunci. Ini membolehkan anda mencetak indeks, nama warna dan nilai perenambelasannya dalam rentetan berformat.

Python Enumerate: Penjelasan Dengan Contoh

2. Menggunakan Python Enumerate dengan Kelas Enum

Python disertakan dengan kelas Enum terbina dalam , yang membolehkan anda mencipta jenis penghitungan dengan nilai integer yang ditetapkan secara automatik.

Sebagai contoh, lihat kod berikut:

from enum import Enum, auto

class Direction(Enum):
    NORTH = auto()
    EAST = auto()
    SOUTH = auto()
    WEST = auto()

for index, direction in enumerate(Direction):
    print(f"{index}: {direction.name} => {direction.value}")

Dalam skrip ini, kami mentakrifkan Arah penghitungan dengan empat ahli (UTARA, TIMUR, SELATAN dan BARAT) menggunakan modul enum Python. Fungsi auto() memberikan nilai automatik kepada setiap ahli.

Apabila anda menggunakan enumerate() dalam gelung, ia menyediakan indeks bersama setiap ahli penghitungan. Ini membolehkan anda mencetak indeks, nama ahli dan nilai yang diperuntukkan secara automatik dalam rentetan berformat.

Output kod ini diberikan dalam imej di bawah:

Python Enumerate: Penjelasan Dengan Contoh

3. Menggunakan Python Enumerate untuk Pembalikan Pesanan

Dalam sesetengah kes, anda mungkin mahu menghitung item dalam susunan terbalik. Anda boleh mencapai ini dengan menggunakan fungsi terbina dalam reversed() dalam kombinasi dengan enumerate() .

Contoh berikut menunjukkan penghitungan item dalam susunan terbalik:

my_list = ["apple", "banana", "cherry"]

for index, item in enumerate(reversed(my_list)):
    print(f"{index}: {item}")

Dalam kod ini, kami mengulangi versi terbalik my_list menggunakan enumerate(). Ini memberikan anda indeks dan item daripada senarai terbalik dalam setiap lelaran. Ia membolehkan anda mencetak indeks dan item dalam rentetan yang diformatkan.

Python Enumerate: Penjelasan Dengan Contoh

Fungsi terbalik () tidak akan mengubah suai urutan asal; ia mencipta lelaran baharu yang membentangkan item dalam susunan terbalik.

Untuk mengetahui lebih lanjut tentang fungsi dalam Python, lihat video berikut:

Fikiran Akhir

Semasa anda meneruskan perjalanan Python anda, menguasai fungsi enumerate() adalah satu kemestian. Ia adalah alat yang meningkatkan kebolehbacaan dan kecekapan kod.

Dengan menggunakan enumerate(), anda boleh mengakses dengan lancar kedua-dua indeks dan nilai dalam gelung anda, mengurangkan keperluan untuk pembolehubah balas atau pengindeksan. Ia memudahkan kod anda dan menjadikannya lebih Pythonic.

Sama ada anda mengulangi senarai, tupel, rentetan atau kamus, enumerate() akan terbukti sebagai alat yang berharga. Dengan memahami dan berlatih dengan enumerate(), anda akan mengambil langkah penting dalam mengasah kemahiran pengaturcaraan Python anda!


Apa Itu Diri Dalam Python: Contoh Dunia Sebenar

Apa Itu Diri Dalam Python: Contoh Dunia Sebenar

Apa Itu Diri Dalam Python: Contoh Dunia Sebenar

Cara Menyimpan & Memuatkan Fail RDS Dalam R

Cara Menyimpan & Memuatkan Fail RDS Dalam R

Anda akan belajar cara menyimpan dan memuatkan objek daripada fail .rds dalam R. Blog ini juga akan membincangkan cara mengimport objek dari R ke LuckyTemplates.

N Hari Perniagaan Pertama Dilawati Semula – Penyelesaian Bahasa Pengekodan DAX

N Hari Perniagaan Pertama Dilawati Semula – Penyelesaian Bahasa Pengekodan DAX

Dalam tutorial bahasa pengekodan DAX ini, pelajari cara menggunakan fungsi GENERATE dan cara menukar tajuk ukuran secara dinamik.

Pamerkan Cerapan Menggunakan Teknik Visual Dinamik Berbilang Thread Dalam LuckyTemplates

Pamerkan Cerapan Menggunakan Teknik Visual Dinamik Berbilang Thread Dalam LuckyTemplates

Tutorial ini akan merangkumi cara menggunakan teknik Visual Dinamik Berbilang Thread untuk mencipta cerapan daripada visualisasi data dinamik dalam laporan anda.

Pengenalan Untuk Menapis Konteks Dalam LuckyTemplates

Pengenalan Untuk Menapis Konteks Dalam LuckyTemplates

Dalam artikel ini, saya akan menjalankan konteks penapis. Konteks penapis ialah salah satu topik utama yang perlu dipelajari oleh mana-mana pengguna LuckyTemplates pada mulanya.

Petua Terbaik Menggunakan Aplikasi Dalam Perkhidmatan Dalam Talian LuckyTemplates

Petua Terbaik Menggunakan Aplikasi Dalam Perkhidmatan Dalam Talian LuckyTemplates

Saya ingin menunjukkan cara perkhidmatan dalam talian LuckyTemplates Apps boleh membantu dalam mengurus laporan dan cerapan berbeza yang dijana daripada pelbagai sumber.

Analisis Perubahan Margin Keuntungan Lebih Masa – Analitis Dengan LuckyTemplates Dan DAX

Analisis Perubahan Margin Keuntungan Lebih Masa – Analitis Dengan LuckyTemplates Dan DAX

Ketahui cara untuk menyelesaikan perubahan margin keuntungan anda menggunakan teknik seperti mengukur percabangan dan menggabungkan formula DAX dalam LuckyTemplates.

Idea Pewujudan Untuk Cache Data Dalam DAX Studio

Idea Pewujudan Untuk Cache Data Dalam DAX Studio

Tutorial ini akan membincangkan tentang idea pewujudan cache data dan cara ia mempengaruhi prestasi DAX dalam memberikan hasil.

Pelaporan Perniagaan Menggunakan LuckyTemplates

Pelaporan Perniagaan Menggunakan LuckyTemplates

Jika anda masih menggunakan Excel sehingga sekarang, maka inilah masa terbaik untuk mula menggunakan LuckyTemplates untuk keperluan pelaporan perniagaan anda.

Apakah LuckyTemplates Gateway? Semua yang Anda Perlu Tahu

Apakah LuckyTemplates Gateway? Semua yang Anda Perlu Tahu

Apakah LuckyTemplates Gateway? Semua yang Anda Perlu Tahu