Penulis catatan, yang kami terbitkan hari ini, ingin berbicara tentang beberapa fitur menggunakan
for
loop di Python.

Untuk loop adalah salah satu landasan pemrograman. Pemrogram masa depan berkenalan dengan siklus ini di awal studi mereka dan, setelah kenalan pertama, menggunakannya secara konstan.
Jika Anda mulai mengembangkan dengan Python, memiliki pengalaman bekerja dengan bahasa pemrograman populer lainnya, seperti PHP atau JavaScript, maka Anda terbiasa dengan teknik menggunakan variabel penghitung yang menyimpan, misalnya, indeks elemen saat ini dari array yang sedang diproses dalam satu lingkaran. Berikut adalah contoh bekerja dengan loop yang ditulis dalam JavaScript:
let scores = [54,67,48,99,27]; for(const i=0; i < scores.length; i++) { console.log(i, scores[i]); }
Ketika bekerja dengan
for
loop, sangat penting untuk memahami bahwa loop ini tidak berulang pada array. Mereka hanya memberi programmer mekanisme untuk bekerja dengan variabel counter, yang digunakan untuk mengakses elemen array yang diproses.
Pada contoh sebelumnya, variabel
i
tidak memiliki hubungan eksplisit dengan array
scores
. Itu hanya menyimpan angka tertentu, yang meningkat sebesar 1 di setiap iterasi dari loop, dan yang, ternyata, cocok untuk akses berurutan ke elemen array dengan indeks mereka.
Cara lama (tidak berhasil) untuk bekerja dengan array
Python tidak memiliki tradisional
for
loop seperti yang ditunjukkan di atas. Benar, jika Anda seperti saya, maka keinginan pertama Anda untuk menguasai Python adalah menemukan cara untuk membuat lingkaran yang akrab dan nyaman bagi Anda untuk bekerja dengannya.
Sebagai hasilnya, Anda dapat mendeteksi fungsi
range()
dan menulis dengan Python sesuatu yang mirip dengan yang berikut:
scores = [54,67,48,99,27] for i in range(len(scores)): print(i, scores[i]) """ 0 54 1 67 2 48 3 99 4 27 """
Masalah dengan loop ini adalah bahwa itu tidak cocok dengan ideologi Python dengan sangat baik. Di dalamnya, kita tidak mengulangi daftar, tetapi, sebaliknya, gunakan variabel bantu
i
untuk mengakses elemen daftar.
Bahkan, bahkan dalam JavaScript, ada metode yang memungkinkan Anda untuk mengulangi lebih dari array, sehingga untuk berbicara, tanpa perantara. Ini
forEach
dan
for of
loop.
Menggunakan Fungsi enumerate ()
Jika Anda perlu melacak "indeks elemen" secara memadai dalam for-loop Python, maka fungsi
enumerate()
, yang memungkinkan Anda untuk "menghitung ulang" objek yang dapat diulang, mungkin cocok. Ini dapat digunakan tidak hanya untuk memproses daftar, tetapi juga untuk bekerja dengan tipe data lainnya - dengan string, tuple, kamus.
Fungsi ini mengambil dua argumen: objek iterable dan nilai penghitung awal opsional.
Jika nilai awal
enumerate()
tidak lulus, itu, secara default, diatur ke
0
. Fungsi menciptakan objek yang menghasilkan tupel yang terdiri dari indeks elemen dan elemen ini sendiri.
scores = [54,67,48,99,27] for i, score in enumerate(scores): print(i, score)
Kode seperti itu ternyata jauh lebih bersih daripada kode dari contoh sebelumnya. Kami meninggalkan pekerjaan dengan daftar indeks, kami mengulangi nilai-nilai itu sendiri, mendapatkan akses langsung ke mereka di dalam
for,
loop
for,
dan melihat nilai-nilai yang kami kerjakan dalam deklarasi siklus.
Berikut adalah salah satu fitur bagus yang akan menarik bagi mereka yang perlu menampilkan daftar bernomor sehingga jumlah elemen pertama bukan
0
, sesuai dengan indeksnya, tetapi
1
. Biasanya, untuk melakukan ini, Anda harus mengubah jumlah elemen yang ditampilkan. Misalnya - seperti ini:
i + 1
. Saat menggunakan fungsi
enumerate()
, itu sudah cukup untuk melewatinya, sebagai argumen kedua, nomor dari mana Anda ingin memulai penomoran. Dalam kasus kami -
1
:
scores = [54,67,48,99,27] for i, score in enumerate(scores, 1): print(i, score) """ 1 54 2 67 3 48 4 99 5 27 """
Ringkasan
Semoga cerita pendek tentang loop di Python ini memungkinkan Anda mempelajari sesuatu yang baru tentang bahasa ini.
Pembaca yang budiman! Apakah Anda tahu cara lain untuk menggunakan fungsi
enumerate()
? Apakah loop yang dibangun menggunakan
enumerate()
tampaknya lebih mudah dibaca daripada loop yang dibangun menggunakan
range(len())
?
