Python

Gunakan Enumerate Function di Python untuk Membuat Gelung dengan Kaunter

Gunakan Enumerate Function di Python untuk Membuat Gelung dengan Kaunter

Artikel ini akan menerangkan penggunaan fungsi "menghitung" yang terdapat di perpustakaan modul standard Python. Fungsi menghitung memungkinkan anda menetapkan "indeks" atau "hitungan" pada elemen dalam objek yang dapat diulang. Anda kemudian dapat menerapkan logik lebih lanjut pada mereka kerana anda akan mempunyai akses ke kedua-dua nilai dan jumlah yang dipetakan kepadanya.

Sintaks dan Contoh Asas

Sekiranya anda telah menggunakan gelung "untuk" dalam bahasa pengaturcaraan lain, terutama bahasa "C" dan bahasa lain yang memiliki sintaks gaya "C", anda mungkin telah menentukan indeks permulaan dalam gelung. Sebagai rujukan, berikut adalah rupa gelung "untuk" dalam "C" dan bahasa lain yang mempunyai sintaks yang serupa:

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

printf ("% d \ n", i);

Pernyataan gelung menginisialisasi pemboleh ubah yang mempunyai nilai sifar, memeriksa bahawa ia kurang dari ambang dan menambahnya 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:

untuk i dalam jarak (0, 10):
mencetak (i)

Fungsi “range” di Python membolehkan anda menentukan urutan julat nombor yang mempunyai langkah lalai 1. Anda boleh mengubah nilai langkah dengan memberikan argumen ketiga. Argumen kedua dalam fungsi “range” 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. Namun, anda mungkin harus menggunakan gelung bersarang yang lain atau menggunakan fungsi "hasil" pada jenis apa pun yang dapat diulang-ulang untuk memberikan beberapa jenis jumlah yang dapat dilacak. Kaedah "enumerate" menjadikannya mudah untuk menetapkan indeks ke iterables dalam satu pernyataan, dengan itu menghilangkan keperluan untuk menjalankan beberapa gelung bersarang. Lihat contoh kod ini:

nombor = ["sifar", "satu", "dua", "tiga", "empat", "lima"]
enumerated_numbers = menghitung (nombor)
untuk indeks, item dalam bilangan_numerated_numbers:
cetak (indeks, item)

Pernyataan pertama mendefinisikan pemboleh ubah baru yang disebut "angka" dan memberikan iterable (jenis senarai) kepadanya. Pernyataan kedua menunjukkan penggunaan fungsi "menghitung" di mana anda memberikannya berulang sebagai argumen wajib. Pernyataan ketiga menukar pemboleh ubah “number_numerated” ke objek jenis senarai. Secara lalai, fungsi "enumerate" menghasilkan objek jenis "enumerate" 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 "menghitung" memberikan penghitungan untuk setiap elemen dalam jenis berulang dan membuat tupel yang memiliki nilai berpasangan. Secara lalai, kiraannya bermula dari sifar.

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"]
enumerated_numbers = menghitung (nombor)
untuk indeks, item dalam bilangan_numerated_numbers:
cetak (indeks, item)

Sampel kod yang dinyatakan di atas akan menghasilkan output berikut:

0 sifar
1 seorang
2 dua
3 tiga
4 empat
5 lima

Anda dapat membuat kodnya lebih pendek dengan menggunakan fungsi "sebut" sebaris, seperti yang ditunjukkan dalam contoh di bawah:

nombor = ["sifar", "satu", "dua", "tiga", "empat", "lima"]
untuk indeks, item dalam bilangan (nombor):
cetak (indeks, item)

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 "start":

nombor = ["satu", "dua", "tiga", "empat", "lima"]
untuk indeks, item dalam bilangan (angka, permulaan = 1):
cetak (indeks, item)

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 "untuk" dalam bahasa "C" ditunjukkan di mana anda dapat menentukan langkah antara setiap kiraan atau indeks berikutnya. Fungsi "enumerate" di Python tidak mempunyai argumen sedemikian sehingga anda tidak dapat menentukan langkah antara hitungan. Anda memang boleh menulis logik anda sendiri untuk melaksanakan langkah-langkah di dalam blok gelung "untuk" yang dihitung. Namun, ada cara untuk melaksanakan langkah-langkah khusus dengan menulis kod minimum. Contoh berikut menunjukkan pelaksanaan langkah-langkah menggunakan fungsi "zip" dan "range":

nombor = ["sifar", "dua", "empat", "enam"]
untuk indeks, item dalam bentuk zip (julat (0, 7, 2), nombor):
cetak (indeks, item)

Fungsi "zip" membolehkan anda membuat pasangan dengan mengambil elemen yang mempunyai indeks yang sama dari dua atau lebih berulang. Jadi fungsi "zip" di sini mengambil elemen dari berulang yang dikembalikan dari fungsi "range (0, 7, 2)" dan elemen lain dari senarai "angka" dan kemudian memasangkan keduanya ke dalam tuple. Hasil akhirnya adalah implementasi yang sama dengan fungsi "menghitung" 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 “enumerate” di Python membolehkan anda menulis kod ringkas dengan memberikan urutan nombor pada elemen dalam objek yang dapat diulang. Ini benar-benar berguna jika anda ingin mengikuti indeks item dalam jenis berulang. Sekiranya anda ingin "menghitung" jenis berulang dengan langkah-langkah khusus, gunakan fungsi "zip" yang dijelaskan dalam contoh terakhir.

HD Remastered Games untuk Linux yang Tidak Pernah Melancarkan Linux Sebelumnya
Banyak pembangun dan penerbit permainan hadir dengan penghapus HD permainan lama untuk memperpanjang usia francais, harap peminat meminta keserasian d...
Cara Menggunakan AutoKey untuk Mengautomasikan Permainan Linux
AutoKey adalah utiliti automasi desktop untuk Linux dan X11, yang diprogramkan dalam Python 3, GTK dan Qt. Dengan menggunakan skrip dan fungsi MACRO, ...
Cara Menunjukkan Kaunter FPS dalam Permainan Linux
Permainan Linux mendapat dorongan utama ketika Valve mengumumkan sokongan Linux untuk klien Steam dan permainan mereka pada tahun 2012. Sejak itu, ban...