Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah Fungsi `enumerate()` Python Meningkatkan Traversal Boleh Diulang?

Bagaimanakah Fungsi `enumerate()` Python Meningkatkan Traversal Boleh Diulang?

Mary-Kate Olsen
Lepaskan: 2024-12-14 21:52:15
asal
492 orang telah melayarinya

How Does Python's `enumerate()` Function Enhance Iterable Traversal?

Merungkai Fungsi Enumerate() dalam Python

Dalam Python, fungsi enumerate() ialah permata misteri yang menambahkan sedikit pencerahan kepada penerokaan boleh lelar anda. Apa sebenarnya yang dilakukannya? Mari kita mendalami konsep dan aplikasinya.

Maksud enumerate() dalam Python

Pada terasnya, enumerate() ialah mencantikkan berulang. Ia memperkenalkan pembilang kepada yang boleh diubah, mengubah setiap elemen menjadi tuple yang mengandungi pembilang dan elemen. Penambahbaikan ini menyediakan cara yang jelas dan ringkas untuk memantau traversal anda melalui yang boleh diubah, menawarkan dimensi berangka untuk pengembaraan gelung anda.

Pertimbangkan contoh mudah ini:

elements = ('foo', 'bar', 'baz')
for elem in elements:
    print(elem)
Salin selepas log masuk

Kod ini akan mencetak setiap elemen tupel mengikut tertib:

foo
bar
baz
Salin selepas log masuk

Walau bagaimanapun, jika kita menggunakan fungsi enumerate(), gelung kami mengambil bentuk baharu:

elements = ('foo', 'bar', 'baz')
for count, elem in enumerate(elements):
    print(count, elem)
Salin selepas log masuk

Kini, output mendedahkan bukan sahaja elemen itu sendiri tetapi juga pembilang sepadannya:

0 foo
1 bar
2 baz
Salin selepas log masuk

Perhatikan bagaimana setiap tuple membongkar kepada dua pembolehubah : nombor_baris (pembilang) dan baris (elemen).

Penyesuaian dan Pelaksanaan

Secara lalai, enumerate() memulakan pengiraannya dari 0. Walau bagaimanapun, anda mempunyai kefleksibelan untuk menentukan nombor permulaan dengan menyediakan hujah integer kedua. Contohnya:

for count, elem in enumerate(elements, 42):
    print(count, elem)
Salin selepas log masuk

Kod ini akan mencetak:

42 foo
43 bar
44 baz
Salin selepas log masuk

Fungsi enumerate() semula jadi Python ialah mesin yang ditala dengan baik, tetapi jika anda berasa mencabar, anda boleh -melaksanakannya menggunakan itertools.count() atau penjana pengiraan manual fungsi:

from itertools import count

def enumerate(it, start=0):
    return zip(count(start), it)
Salin selepas log masuk

atau

def enumerate(it, start=0):
    count = start
    for elem in it:
        yield (count, elem)
        count += 1
Salin selepas log masuk

Pelaksanaan tersuai ini mencerminkan pendekatan Python, menyediakan alat serba boleh untuk usaha gelung anda.

Atas ialah kandungan terperinci Bagaimanakah Fungsi `enumerate()` Python Meningkatkan Traversal Boleh Diulang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan