Gunakan Enumerate Function di Python untuk Membuat Gelung dengan Kaunter

Use Enumerate Function Python Create Loops With Counters



Artikel ini akan menerangkan penggunaan fungsi bilangan yang terdapat di perpustakaan modul standard Python. Fungsi menghitung membolehkan anda menetapkan indeks atau mengira unsur-unsur dalam objek yang boleh diulang. Anda kemudian dapat menerapkan logik lebih lanjut pada mereka kerana anda akan dapat mengakses kedua-dua nilai dan jumlah yang dipetakan kepadanya.

Sintaks dan Contoh Asas

Sekiranya anda menggunakan loop untuk bahasa pengaturcaraan lain, terutama bahasa C dan bahasa lain yang mempunyai sintaks gaya C, anda mungkin telah menentukan indeks permulaan dalam gelung tersebut. Sebagai rujukan, inilah rupa gelung a untuk C dan bahasa lain yang mempunyai sintaks yang serupa:







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

{

printf ('% d n',i);

}

Pernyataan gelung menginisialisasi pemboleh ubah yang mempunyai nilai sifar, memeriksa bahawa ia kurang dari ambang dan menambahkannya dengan satu kiraan setelah menilai logik di dalam blok gelung (jika keadaan berhenti dipenuhi). Dengan cara ini anda dapat menggunakan indeks dan memberikannya kepada objek yang dirujuk di blok gelung anda. Sebagai perbandingan, inilah rupa gelung untuk hasil yang sama di Python:



untukidalam julat(0, 10):

mencetak (i)

Fungsi julat di Python membolehkan anda menentukan urutan julat nombor yang mempunyai langkah lalai 1. Anda dapat mengubah nilai langkah dengan memberikan argumen ketiga. Argumen kedua dalam fungsi julat digunakan untuk menetapkan ambang untuk keadaan berhenti. Kedua-dua sampel kod menghasilkan output berikut:



0

1

2

3

4

5

6

7

8

9

Gelung ini berfungsi dengan baik jika anda hanya ingin menghasilkan beberapa urutan nombor dan mengaitkannya dengan beberapa logik di dalam pernyataan gelung. Walau bagaimanapun, anda mungkin perlu menggunakan gelung bersarang lain atau menggunakan fungsi hasil pada jenis berulang untuk memberikan mereka beberapa jenis jumlah yang dapat dilacak. Kaedah menghitung menjadikannya mudah untuk menetapkan indeks untuk berulang dalam satu pernyataan, sehingga menghilangkan keperluan untuk menjalankan beberapa gelung bersarang. Lihat contoh kod ini:





nombor= ['sifar', 'satu', 'dua', 'tiga', 'empat', 'lima']

bilangan_bilangan= disenaraikan(nombor)

untukindeks,barangdalambilangan_bilangan:

mencetak (indeks,barang)

Pernyataan pertama menentukan pemboleh ubah baru yang disebut nombor dan memberikan iterable (jenis senarai) kepadanya. Pernyataan kedua menunjukkan penggunaan fungsi bilangan di mana anda memberikannya berulang sebagai argumen wajib. Pernyataan ketiga menukar pemboleh ubah_numerated_numbers menjadi objek jenis senarai. Secara lalai, fungsi enumerate menghasilkan objek jenis bilangan dan bukan jenis berulang, jadi anda harus menukarnya. Setelah menjalankan contoh kod yang disebutkan di atas, anda akan mendapat output berikut:

[(0, 'zero'), (1, 'one'), (2, 'two'), (3, 'three'), (4, 'four'), ​​(5, 'lima')]

Fungsi enumerate memberikan hitungan untuk setiap elemen dalam jenis berulang dan membuat tupel yang mempunyai nilai berpasangan. Secara lalai, kiraannya bermula dari sifar.



Sekarang setelah anda memberikan nombor untuk setiap elemen dalam jenis yang boleh diulang, anda boleh dengan mudah melengkapkannya tanpa menulis pernyataan bersarang:

nombor= ['sifar', 'satu', 'dua', 'tiga', 'empat', 'lima']

bilangan_bilangan= disenaraikan(nombor)

untukindeks,barangdalambilangan_bilangan:

mencetak (indeks,barang)

Sampel kod yang dinyatakan di atas akan menghasilkan output berikut:

0 sifar

1 seorang

2 dua

3 tiga

4 empat

5 lima

Anda dapat menjadikan kodnya lebih pendek dengan menggunakan sebilangan fungsi sebaris, seperti yang ditunjukkan dalam contoh di bawah:

nombor= ['sifar', 'satu', 'dua', 'tiga', 'empat', 'lima']

untukindeks,barangdalam disenaraikan(nombor):

mencetak (indeks,barang)

Menggunakan Enumerate dengan Indeks Permulaan yang berbeza

Fungsi menghitung mengambil argumen pilihan di mana anda dapat menentukan indeks permulaan. Secara lalai ia adalah sifar, tetapi anda boleh mengubahnya dengan menggunakan argumen permulaan:

nombor= ['satu', 'dua', 'tiga', 'empat', 'lima']

untukindeks,barangdalam disenaraikan(nombor,mulakan=1):

mencetak (indeks,barang)

Dalam pernyataan kedua, argumen start = 1 digunakan untuk mengubah titik permulaan. Setelah menjalankan contoh kod yang dinyatakan di atas, anda akan mendapat output berikut:

1 seorang

2 dua

3 tiga

4 empat

5 lima

Menetapkan Indeks dengan Langkah

Pada bahagian pertama artikel ini, sintaks untuk gelung dalam bahasa C ditunjukkan di mana anda dapat menentukan langkah antara setiap kiraan atau indeks berikutnya. Fungsi bilangan di Python tidak mempunyai argumen sedemikian sehingga anda tidak dapat menentukan langkah antara jumlah. Anda sememangnya boleh menulis logik anda sendiri untuk melaksanakan langkah-langkah di dalam blok loop yang dihitung. Namun, ada cara untuk melaksanakan langkah-langkah khusus dengan menulis kod minimum. Contoh berikut menunjukkan pelaksanaan langkah-langkah menggunakan fungsi zip dan jarak jauh:

nombor= ['sifar', 'dua', 'empat', 'enam']

untukindeks,barangdalam zip(julat(0, 7, 2),nombor):

mencetak (indeks,barang)

Fungsi zip membolehkan anda membuat pasangan dengan mengambil elemen yang mempunyai indeks yang sama dari dua atau lebih berulang. Oleh itu, fungsi zip di sini mengambil elemen dari fungsi yang dikembalikan dari jarak jauh (0, 7, 2) dan elemen lain dari senarai nombor dan kemudian memasangkan keduanya ke dalam tuple. Hasil akhirnya adalah pelaksanaan yang serupa dengan fungsi bilangan tetapi dengan langkah-langkah khusus yang ditentukan sebagai argumen ketiga dalam fungsi rentang (0, 7, 2) (2 dalam hal ini). Setelah menjalankan contoh kod yang dinyatakan di atas, anda akan mendapat output berikut:

0 sifar

2 dua

4 empat

6 enam

Kesimpulannya

Fungsi penghitungan dalam Python membolehkan anda menulis kod ringkas dengan memberikan urutan nombor pada elemen dalam objek yang boleh diulang. Ini sangat berguna jika anda ingin mengikuti indeks item di dalam jenis berulang. Sekiranya anda ingin menghitung jenis berulang dengan langkah tersuai, gunakan fungsi zip yang dijelaskan dalam contoh terakhir.