Memahami Enumerate dalam Python
Fungsi enumerate() Python meningkatkan satu lelaran dengan menambahkan pembilang angka pada setiap elemen . Mari kita terokai maksudnya dalam konteks khusus yang diberikan:
for row_number, row in enumerate(cursor):
Kursor di sini ialah lelaran yang mengandungi jujukan unsur. Untuk setiap elemen, enumerate() menjana tuple dengan pembilang (row_number) dan elemen itu sendiri (row). Gelung untuk kemudian memperuntukkan tupel ini kepada pembolehubah nombor_baris dan baris, masing-masing.
Apa yang Sebenarnya Berfungsi Enumerate
Ringkasnya, enumerate() menambah kiraan larian pada elemen yang boleh diulang. Dalam kod yang diberikan, ia memulakan kiraan dari 0 dan menambahnya sebanyak 1 untuk setiap elemen berikutnya. Ini membolehkan anda mengulangi yang boleh diulang dan mempunyai akses kepada kedua-dua kiraan dan elemen secara serentak.
Demonstrasi
Pertimbangkan contoh berikut:
elements = ('foo', 'bar', 'baz') for elem in elements: print(elem)
Output:
foo bar baz
Sekarang, mari kita ambil kerja enumerate():
for count, elem in enumerate(elements): print(count, elem)
Output:
0 foo 1 bar 2 baz
Dalam kes ini, kita mendapat kedua-dua indeks (kiraan) dan elemen yang sepadan (elem).
Penyesuaian dan Pelaksanaan
Oleh lalai, enumerate() mula mengira dari 0. Walau bagaimanapun, anda boleh memberikan argumen kedua pilihan untuk bermula dari nombor yang berbeza. Contohnya:
for count, elem in enumerate(elements, 42): print(count, elem)
Output:
42 foo 43 bar 44 baz
Anda juga boleh mencipta versi enumerate() anda sendiri menggunakan binaan Python asli atau perpustakaan pihak ketiga. Contohnya:
def enumerate(it, start=0): return zip(count(start), it) # Using itertools.count()
Atau:
def enumerate(it, start=0): count = start for elem in it: yield count, elem count += 1
Pelaksanaan tersuai ini menunjukkan fleksibiliti paradigma pengaturcaraan Python.
Atas ialah kandungan terperinci Bagaimanakah Fungsi `enumerate()` Python Berfungsi dan Bagaimana Ia Boleh Disesuaikan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!