for loop digunakan ketika Anda memiliki blok kode yang ingin Anda ulangi beberapa kali. For-loop selalu digunakan dalam kombinasi dengan objek yang dapat diubah, seperti daftar atau rentang. Pernyataan Python for mengulangi anggota urutan secara berurutan, mengeksekusi blok setiap kali. Bandingkan pernyataan for dengan perulangan '' while'', digunakan ketika suatu kondisi perlu diperiksa setiap iterasi atau untuk mengulang blok kode selamanya. Sebagai contoh Show
Untuk loop dari 0 ke 2, oleh karena itu berjalan 3 kali for x in range(0, 3): print("We're on time %d" % (x)) While loop dari 1 hingga tak terhingga, oleh karena itu berjalan selamanya x = 1 while True: print("To infinity and beyond! We're getting close, on %d now!" % (x)) x += 1_ Saat menjalankan contoh di atas, Anda dapat menghentikan program dengan menekan ctrl+c secara bersamaan. Seperti yang Anda lihat, konstruksi loop ini melayani tujuan yang berbeda. Perulangan for berjalan untuk jumlah waktu yang tetap, sedangkan perulangan while berjalan hingga kondisi perulangan berubah. Dalam contoh ini, kondisinya adalah boolean True yang tidak akan pernah berubah, sehingga akan berjalan selamanya Bagaimana mereka bekerja?Jika Anda pernah melakukan pemrograman apa pun sebelumnya, Anda pasti menemukan for loop atau yang setara dengannya. Banyak bahasa memiliki kondisi dalam sintaks perulangannya, seperti ekspresi relasional untuk menentukan apakah perulangan selesai, dan ekspresi kenaikan untuk menentukan nilai perulangan berikutnya. Dalam Python, ini malah dikontrol dengan menghasilkan urutan yang sesuai. Pada dasarnya, objek apa pun dengan metode iterable dapat digunakan dalam perulangan for. Bahkan string, meskipun tidak memiliki metode yang dapat diulang - tetapi kita tidak akan membahasnya di sini. Memiliki metode iterable pada dasarnya berarti bahwa data dapat disajikan dalam bentuk daftar, di mana terdapat banyak nilai secara teratur. Anda dapat mendefinisikan iterable Anda sendiri dengan membuat objek dengan metode next() dan iter(). Ini berarti bahwa Anda akan jarang berurusan dengan angka mentah jika menyangkut for loop di Python - bagus untuk hampir semua orang Loop bersarangKetika Anda memiliki blok kode yang ingin Anda jalankan x beberapa kali, kemudian blok kode di dalam kode itu yang ingin Anda jalankan y beberapa kali, Anda menggunakan apa yang dikenal sebagai "loop bersarang". Dalam Python, ini banyak digunakan setiap kali seseorang memiliki daftar daftar - objek yang dapat diubah di dalam objek yang dapat diubah for x in range(1, 11): for y in range(1, 11): print('%d * %d = %d' % (x, y, x*y)) Seperti perulangan while, perulangan for dapat dibuat untuk keluar sebelum objek yang diberikan selesai. Ini dilakukan dengan menggunakan pernyataan break, yang akan segera keluar dari perulangan dan melanjutkan eksekusi pada pernyataan pertama setelah blok. Anda juga dapat memiliki klausa else opsional, yang akan berjalan jika for loop keluar dengan bersih - yaitu, tanpa putus for x in range(3): if x == 1: break ContohUntuk. Kalau tidak for x in range(3): print(x) else: print('Final x = %d' % (x))_ String sebagai iterable string = "Hello World" for x in string: print(x) Daftar sebagai iterable collection = ['hey', 5, 'd'] for x in collection: print(x)_ Ulangi Daftar daftar list_of_lists = [ [1, 2, 3], [4, 5, 6], [7, 8, 9]] for list in list_of_lists: for x in list: print(x) Membuat iterable Anda sendiri class Iterable(object): def __init__(self,values): self.values = values self.location = 0 def __iter__(self): return self def next(self): if self.location == len(self.values): raise StopIteration value = self.values[self.location] self.location += 1 return value_ Generator jangkauan Anda sendiri menggunakan hasil def my_range(start, end, step): while start <= end: yield start start += step for x in my_range(1, 10, 0.5): print(x)_ Catatan tentang `rentang`Fungsi ini sering terlihat dalam pernyataan for sehingga Anda mungkin mengira range adalah bagian dari sintaks for. Bukan itu. itu adalah fungsi bawaan Python yang mengembalikan urutan mengikuti pola tertentu (paling sering bilangan bulat berurutan), yang dengan demikian memenuhi persyaratan menyediakan urutan untuk pernyataan for untuk mengulangi. Karena for dapat beroperasi langsung pada urutan, seringkali tidak perlu menghitung. Ini adalah konstruksi pemula yang umum (jika mereka berasal dari bahasa lain dengan sintaks loop yang berbeda) Jika Anda adalah seseorang yang selalu menggunakan loop Ada banyak keuntungan menggunakan metode khusus dibandingkan versi
Kode di bawah ini terlihat cukup familiar, bukan? find square of numbersvar numberArray = [1,2,3,4,5,6,7,8,9,10];//for Version Himpunan. peta adalah fungsi bawaan yang menghasilkan larik baru dengan mengubah setiap elemen larik sumber menjadi nilai baru berdasarkan metode yang disediakan untuk transformasi Itu mengulang semua elemen secara berurutan, memanggil fungsi transformasi yang disediakan untuk setiap elemen, dan secara internal mendorong hasilnya ke dalam array baru. Kita hanya perlu menyediakan fungsi transformasi, dan pekerjaan selanjutnya akan dilakukan oleh fungsi find square of numbersvar numberArray = [1,2,3,4,5,6,7,8,9,10];//Map version2. Sebagai contoh find square of numbersvar numberArray = [1,2,3,4,5,6,7,8,9,10];//Map version Secara sederhana, find square of numbersvar numberArray = [1,2,3,4,5,6,7,8,9,10];//Map version_3 mengubah array yang diberikan menjadi yang baru setelah melakukan fungsi transformasi pada setiap elemen dalam array Himpunan. prototipe. peta()Metode map() membuat larik baru yang diisi dengan hasil pemanggilan fungsi yang disediakan pada setiap elemen di…pengembang. mozilla. org Menggunakan Filter Anda melihat bahwa Example 1 :- Filter even numbers Himpunan. filter adalah fungsi berguna lainnya yang membangun array elemen baru berdasarkan fungsi "validator" yang diberikan. Itu mengulang semua elemen array sumber, memanggil fungsi "validator" untuk setiap item, jika fungsi "validator" mengembalikan nilai true, elemen tersebut akan ditambahkan secara internal ke array baru. Dengan fungsi find square of numbersvar numberArray = [1,2,3,4,5,6,7,8,9,10];//Map version5, kita hanya dapat menyediakan logika "validasi" inti dari fungsi tersebut, meninggalkan sisa pekerjaan ke find square of numbersvar numberArray = [1,2,3,4,5,6,7,8,9,10];//Map version5 yang membuatnya mudah untuk ditulis dan dipahami Example 1 :- Filter even numbers Melihat fungsi yang sama diimplementasikan dengan find square of numbersvar numberArray = [1,2,3,4,5,6,7,8,9,10];//Map version7, segera menjadi jelas bahwa itu memfilter array asli berdasarkan kondisi yang digunakan di dalam fungsi "validator" Dengan versi find square of numbersvar numberArray = [1,2,3,4,5,6,7,8,9,10];//Map version_5, kita hanya perlu memikirkan logika fungsi validasi dan menyerahkan sisanya ke find square of numbersvar numberArray = [1,2,3,4,5,6,7,8,9,10];//Map version5, dan itu membuat kode terlihat mulus dan natural Himpunan. prototipe. Saring()Metode filter() membuat larik baru dengan semua elemen yang lolos pengujian yang diimplementasikan oleh fungsi yang disediakan…pengembang. mozilla. org Menggunakan penguranganFamiliar lain untuk loop adalah di mana kita mengambil setiap elemen dan melakukan semacam operasi akumulasi (di sini menambahkan semua elemen), mengembalikan nilai yang terakumulasi //find sum of elements in the array Himpunan. pengurangan digunakan ketika Anda ingin memproses semua elemen array untuk mendapatkan satu nilai darinya. Reduce sedikit rumit untuk dipahami pada awalnya, tetapi begitu Anda memahaminya, itu sangat mudah digunakan Penting untuk dicatat bahwa Example 1 :- Filter even numbers_2 tidak menjalankan fungsi ketika tidak ada item dalam array dan juga metode ini tidak membuat perubahan apa pun pada array asli
Example 1 :- Filter even numbers_4 mengambil dua argumen, satu adalah fungsi pengurangan dan kedua adalah nilai awal yang disebut akumulator. Itu memanggil fungsi Example 1 :- Filter even numbers_5 untuk setiap elemen dengan memberikan nilai akumulator. Pengurangan Example 1 :- Filter even numbers_6 memproses elemen saat ini dan memperbarui nilai akumulator dan meneruskannya ke iterasi berikutnya. Di akhir putaran terakhir, akumulator menjadi hasil akhir. Mari kita jelajahi dengan contoh //find sum of all elements in the array Komposisi fungsi Ada metode utilitas array lain seperti Example 1 :- Filter even numbers_7, Example 1 :- Filter even numbers8, Example 1 :- Filter even numbers9, Example 1 :- Filter even numbers0, Example 1 :- Filter even numbers1, Example 1 :- Filter even numbers2 yang harus diketahui semua orang. Menggunakan jenis fungsi yang tepat tidak hanya membuat kode lebih bersih, tetapi juga membuatnya mudah untuk diuji dan diperluas. Plus Anda sedang menulis kode futuristik dengan menggunakan fungsi-fungsi ini. Fungsi-fungsi ini adalah fungsi JavaScript asli yang didukung di semua browser dan semakin cepat dari hari ke hari. Ini juga membantu menyusun fungsi yang lebih kecil untuk membuat kasus penggunaan yang lebih luas using evenNumbers and sum, we can easily fund sum of even numbersvar numberArray = [1,2,3,4,5,6,7,8,9,10]; Menulis contoh di atas dengan loop HimpunanKelas JavaScript Array adalah objek global yang digunakan dalam pembangunan array;pengembang. mozilla. org Catatan tentang kinerjaHimpunan. filter, peta, beberapa memiliki kinerja yang sama dengan forEach. Ini semua sedikit lebih lambat daripada for/while loop. Kecuali jika Anda sedang mengerjakan fungsionalitas kritis kinerja, itu akan baik-baik saja menggunakan metode di atas. Dengan JIT, mesin eksekusi JavaScript sangat cepat dan semakin cepat dari hari ke hari. Jadi mulailah memanfaatkan metode ini dalam aplikasi Anda Apa alternatif terbaik untuk loop Python?Cara yang lebih cepat untuk mengulang di Python menggunakan fungsi bawaan . Dalam contoh kita, kita dapat mengganti perulangan for dengan fungsi penjumlahan. Fungsi ini akan menjumlahkan nilai di dalam rentang angka.
Apa yang bisa saya gunakan selain untuk loop?Gunakan map() alih-alih for() loop
. Jika Anda hanya memiliki pengetahuan tentang for() loop dalam JavaScript, artikel ini akan meminta Anda untuk memahami sintaks Ekspresi Fungsi Panah (a. k. a. fungsi "panah gemuk").
Bagaimana Anda mengulang dengan Python tanpa menggunakan for?Melakukan perulangan tanpa perulangan for . Dapatkan iterator dari iterable yang diberikan Berulang kali dapatkan item berikutnya dari iterator Jalankan isi for loop jika kita berhasil mendapatkan item berikutnya Hentikan loop kami jika kami mendapat pengecualian StopIteration saat mendapatkan item berikutnya Haruskah Anda menghindari for loop dengan Python?Kita harus mencoba menghindari perulangan sebanyak mungkin saat menulis kode yang efisien . Menghilangkan perulangan biasanya menghasilkan lebih sedikit baris kode yang lebih mudah ditafsirkan. Salah satu idiom kode pythonic adalah “datar lebih baik daripada bersarang. ” Berjuang untuk menghilangkan loop dalam kode kita akan membantu kita mengikuti idiom ini. |