Seperti while loop, for loop adalah pernyataan bahasa pemrograman, i. e. pernyataan iterasi, yang memungkinkan blok kode diulang beberapa kali Show
Hampir tidak ada bahasa pemrograman tanpa for loop, tetapi for loop ada dalam berbagai rasa, mis. e. sintaks dan semantik berbeda dari satu bahasa pemrograman ke bahasa lainnya Berbagai jenis for loop
Pelatihan Python langsung Menikmati halaman ini? Lihat. Ikhtisar kursus Python langsung Daftar di sini Sintaks For LoopSeperti yang kami sebutkan sebelumnya, loop for Python adalah loop for berbasis iterator. Ini melangkah melalui item daftar, tuple, string, kunci kamus dan iterables lainnya. Perulangan for Python dimulai dengan kata kunci "untuk" diikuti dengan nama variabel arbitrer, yang akan menyimpan nilai dari objek urutan berikut, yang dilangkahi. Sintaks umum terlihat seperti ini
Item dari objek urutan ditugaskan satu demi satu ke variabel loop; . Untuk setiap item, badan loop dijalankan Contoh perulangan for sederhana dengan Python languages = ["C", "C++", "Perl", "Python"] for language in languages: print(language)_ KELUARANC C++ Perl Python Blok else itu spesial; . Secara semantik, ini berfungsi persis sebagai pilihan lain dari while loop. Itu akan dieksekusi hanya jika loop belum "dihancurkan" oleh pernyataan break. Jadi itu hanya akan dieksekusi, setelah semua item dari urutan di header telah digunakan Jika pernyataan break harus dieksekusi dalam alur program dari perulangan for, perulangan akan ditutup dan alur program akan dilanjutkan dengan pernyataan pertama setelah perulangan for, jika ada sama sekali. Biasanya pernyataan break dibungkus dengan pernyataan bersyarat, mis. g edibles = ["bacon", "spam", "eggs", "nuts"] for food in edibles: if food == "spam": print("No more spam please!") break print("Great, delicious " + food) else: print("I am so glad: No spam!") print("Finally, I finished stuffing myself") KELUARANGreat, delicious bacon No more spam please! Finally, I finished stuffing myself_ Menghapus "spam" dari daftar makanan yang dapat dimakan, kami akan mendapatkan hasil berikut $ python for.py Great, delicious bacon Great, delicious eggs Great, delicious nuts I am so glad: No spam! Finally, I finished stuffing myself $ Mungkin rasa jijik kita terhadap spam tidak terlalu tinggi sehingga kita ingin berhenti mengonsumsi makanan lain. Sekarang, ini memanggil pernyataan lanjutan untuk dimainkan. Dalam skrip kecil berikut, kami menggunakan pernyataan lanjutkan untuk melanjutkan daftar makanan kami, ketika kami menemukan item spam. Jadi terus cegah kami makan spam edibles = ["bacon", "spam", "eggs","nuts"] for food in edibles: if food == "spam": print("No more spam please!") continue print("Great, delicious " + food) print("Finally, I finished stuffing myself")_ KELUARANGreat, delicious bacon No more spam please! Great, delicious eggs Great, delicious nuts Finally, I finished stuffing myself Rentang() FungsiRentang fungsi bawaan () adalah fungsi yang tepat untuk mengulangi urutan angka. Ini menghasilkan iterator progresi aritmatika. Contoh range(5)_ KELUARANrange(0, 5)_ Hasil ini tidak cukup jelas. Ini adalah objek yang mampu menghasilkan angka dari 0 hingga 4. Kita dapat menggunakannya dalam perulangan for dan Anda akan melihat apa yang dimaksud dengan ini languages = ["C", "C++", "Perl", "Python"] for language in languages: print(language)_0 KELUARANlanguages = ["C", "C++", "Perl", "Python"] for language in languages: print(language)_1 range(n) menghasilkan iterator untuk memajukan bilangan bulat dimulai dengan 0 dan diakhiri dengan (n -1). Untuk menghasilkan daftar dengan angka-angka ini, kita harus menggunakan range() dengan daftar(), seperti yang kita lakukan pada contoh berikut languages = ["C", "C++", "Perl", "Python"] for language in languages: print(language)_2 KELUARANlanguages = ["C", "C++", "Perl", "Python"] for language in languages: print(language)_3 range() juga bisa dipanggil dengan dua argumen languages = ["C", "C++", "Perl", "Python"] for language in languages: print(language)_4 Panggilan di atas menghasilkan daftar iterator angka yang dimulai dengan edibles = ["bacon", "spam", "eggs", "nuts"] for food in edibles: if food == "spam": print("No more spam please!") break print("Great, delicious " + food) else: print("I am so glad: No spam!") print("Finally, I finished stuffing myself")9 (inklusif) dan diakhiri dengan satu kurang dari angka Great, delicious bacon No more spam please! Finally, I finished stuffing myself0 Contoh languages = ["C", "C++", "Perl", "Python"] for language in languages: print(language)_5 KELUARANlanguages = ["C", "C++", "Perl", "Python"] for language in languages: print(language)_6 languages = ["C", "C++", "Perl", "Python"] for language in languages: print(language)_7 KELUARANlanguages = ["C", "C++", "Perl", "Python"] for language in languages: print(language)_8 Sejauh ini kenaikan range() adalah 1. Kami dapat menentukan kenaikan yang berbeda dengan argumen ketiga. Kenaikan disebut Great, delicious bacon No more spam please! Finally, I finished stuffing myself1. Itu bisa negatif dan positif, tetapi tidak nol languages = ["C", "C++", "Perl", "Python"] for language in languages: print(language)_9 Contoh dengan langkah C C++ Perl Python0 KELUARANC C++ Perl Python1 Bisa juga dilakukan mundur C C++ Perl Python2 KELUARANC C++ Perl Python_3 Fungsi range() sangat berguna dalam kombinasi dengan perulangan for, seperti yang dapat kita lihat pada contoh berikut. Fungsi range() menyediakan angka dari 1 hingga 100 untuk perulangan for untuk menghitung jumlah angka-angka ini C C++ Perl Python_4 KELUARANC C++ Perl Python5 Pelatihan Python langsung Menikmati halaman ini? Lihat. Ikhtisar kursus Python langsung Kursus online yang akan datang Dasar-Dasar Python untuk Pemula Kursus Lanjutan Intensif Python untuk Insinyur dan Ilmuwan Pemrograman Berorientasi Objek dengan Python Daftar di sini Perhitungan Bilangan PythagorasUmumnya, diasumsikan bahwa teorema Pythagoras ditemukan oleh Pythagoras, oleh karena itu diberi nama. Namun, ada perdebatan apakah teorema Pythagoras mungkin telah ditemukan lebih awal atau oleh orang lain secara independen. Bagi kaum Pythagoras, - sebuah gerakan mistis, berdasarkan matematika, agama, dan filsafat, - bilangan bulat yang memenuhi teorema adalah bilangan khusus, yang sakral bagi mereka. Saat ini angka Pythagoras tidak mistis lagi. Meskipun bagi beberapa siswa di sekolah atau orang lain, yang tidak akrab dengan matematika, mereka mungkin masih terlihat seperti itu Jadi definisinya sangat sederhana. Tiga bilangan bulat yang memenuhi a2+b2=c2 disebut bilangan Pythagoras Program berikut menghitung semua bilangan pythagoras kurang dari bilangan maksimal. Komentar. Kita harus mengimpor modul matematika untuk dapat menghitung akar kuadrat dari sebuah angka C C++ Perl Python6 KELUARANC C++ Perl Python7 Mengulang Daftar dengan range()Jika Anda harus mengakses indeks dari daftar, sepertinya bukan ide yang baik untuk menggunakan perulangan for untuk mengulang daftar. Kami dapat mengakses semua elemen, tetapi indeks elemen tidak tersedia. Namun, ada cara untuk mengakses indeks elemen dan elemen itu sendiri. Solusinya terletak pada penggunaan range() dalam kombinasi dengan fungsi panjang len() C C++ Perl Python_8 KELUARANC C++ Perl Python_9 Komentar. Jika Anda menerapkan len() ke daftar atau tuple, Anda mendapatkan jumlah elemen dari urutan ini Pelatihan Python langsung Menikmati halaman ini? Lihat. Ikhtisar kursus Python langsung Daftar di sini Buat daftar iterasi dengan Efek SampingJika Anda mengulang daftar, sebaiknya hindari mengubah daftar di badan loop. Lihatlah contoh berikut edibles = ["bacon", "spam", "eggs", "nuts"] for food in edibles: if food == "spam": print("No more spam please!") break print("Great, delicious " + food) else: print("I am so glad: No spam!") print("Finally, I finished stuffing myself")0 KELUARANedibles = ["bacon", "spam", "eggs", "nuts"] for food in edibles: if food == "spam": print("No more spam please!") break print("Great, delicious " + food) else: print("I am so glad: No spam!") print("Finally, I finished stuffing myself")1 Untuk menghindari efek samping tersebut, sebaiknya kerjakan copy dengan menggunakan operator slicing, seperti dapat dilihat pada contoh berikut edibles = ["bacon", "spam", "eggs", "nuts"] for food in edibles: if food == "spam": print("No more spam please!") break print("Great, delicious " + food) else: print("I am so glad: No spam!") print("Finally, I finished stuffing myself")2 KELUARANedibles = ["bacon", "spam", "eggs", "nuts"] for food in edibles: if food == "spam": print("No more spam please!") break print("Great, delicious " + food) else: print("I am so glad: No spam!") print("Finally, I finished stuffing myself")_3 Kami mungkin masih melakukan sesuatu, kami seharusnya tidak melakukannya. Kami mengubah daftar "warna", tetapi perubahan kami tidak berpengaruh pada loop. Elemen yang akan diulang tetap sama selama iterasi Latihan dengan for LoopsLatihan 1Latihan ini tentang bilangan Ramanujan-Hardy. Ada sedikit anekdot dari Matematikawan G. H. Hardy saat mengunjungi matematikawan India Srinivasa Ramanujan di rumah sakit. Ini berjalan seperti ini edibles = ["bacon", "spam", "eggs", "nuts"] for food in edibles: if food == "spam": print("No more spam please!") break print("Great, delicious " + food) else: print("I am so glad: No spam!") print("Finally, I finished stuffing myself")_4 Untuk alasan ini 1732 dikenal sebagai angka Ramanujan-Hardy Bisakah Anda memverifikasi ini dengan program Python? Latihan 21729 adalah angka terendah yang dapat diwakili oleh bentuk kuadrat Loeschian $a^2 + ab + b^2$ dalam empat cara berbeda, dengan bilangan bulat positif a dan b Bagaimana Anda memajukan iterator dengan Python?Iterasi Melalui Iterator
. Di sini, pertama-tama kita membuat sebuah iterator dari daftar menggunakan metode iter(). Dan kemudian menggunakan fungsi next() untuk mengambil elemen iterator secara berurutan. use the next() function to return the next item in the sequence. Here, first we created an iterator from the list using the iter() method. And then used the next() function to retrieve the elements of the iterator in sequential order.
Apakah iterator lebih cepat daripada for loop Python?Iterator akan lebih cepat dan memiliki efisiensi memori yang lebih baik. Pikirkan contoh range(1000) vs xrange(1000).
Apakah for loop menggunakan iterator Python?Kekuatan iterator untuk loop
. Iterator adalah hal-hal yang menggerakkan iterables. Anda bisa mendapatkan iterator dari iterable apa saja. Dan Anda dapat menggunakan iterator untuk mengulang secara manual dari iterable asalnya. Python's for loops use iterators. Iterators are the things that power iterables. You can get an iterator from any iterable. And you can use an iterator to manually loop over the iterable it came from.
Apakah iterator lebih cepat daripada for loop?Simpan jawaban ini. Tampilkan aktivitas di postingan ini. Iterator lebih cepat untuk koleksi tanpa akses acak (e. g. TreeSet, HashMap, LinkedList). Untuk array dan ArrayLists, perbedaan kinerja harus dapat diabaikan. |