Untuk Loop di Python: Semua yang Perlu Anda Ketahui

Diterbitkan: 2022-08-18

Tutorial ini akan mengajarkan Anda semua tentang menggunakan for loop di Python dengan contoh kode.

Dalam pemrograman, loop membantu Anda mengulangi serangkaian pernyataan tertentu. Anda akan menggunakan for loop untuk iterasi tertentu ketika:

  • Anda tahu Anda akan bekerja dengan urutan dengan jumlah elemen yang terbatas
  • Anda melihat jumlah pengulangan sebelumnya

Tutorial ini akan mengajarkan Anda semua tentang bekerja dengan for loop di Python. Anda akan mulai dengan mempelajari sintaks dan iterasi sederhana menggunakan for loop. Kemudian, Anda akan belajar tentang memproses argumen baris perintah, menggunakan pernyataan kontrol loop, dan banyak lagi.

Mari kita mulai…

Sintaks Python untuk Loop

Sintaks Python untuk Loop

Sintaks umum untuk menggunakan for loop di Python adalah sebagai berikut:

 for item in iterable: # do something on item statement_1 statement_2 . . . statement_n

Dalam sintaks di atas:

  • item adalah variabel perulangan.
  • iterable menunjukkan setiap iterable Python seperti daftar, tupel, dan string.
  • pernyataan_1 sampai pernyataan_n menunjukkan pernyataan-pernyataan dalam badan perulangan.

Catatan : Pastikan untuk menambahkan titik dua ( : ) setelah nama iterable dan indentasi semua pernyataan di badan loop sebanyak empat spasi.

Umum untuk Konstruksi Loop di Python

untuk Konstruksi Loop

Saat menggunakan perulangan for :

  • Anda dapat mengakses item secara langsung menggunakan sintaks yang dibahas di bagian sebelumnya.
  • Anda dapat menggunakan for loop bersama dengan fungsi bawaan Python seperti range() dan enumerate() .

Kami akan membahasnya di bagian ini.

Menggunakan untuk Loop untuk Mengakses Elemen

Untuk meningkatkan keterbacaan, Anda harus memilih variabel perulangan yang menunjukkan isi daftar. Misalnya, pada contoh di bawah ini, nums adalah daftar angka yang kami gunakan num sebagai variabel perulangan. Perhatikan bagaimana for num in nums: intuitif dan mudah dibaca.

 nums = [4,5,9,1,3] for num in nums: print(num) # Output 4 5 9 1 3

Menambahkan beberapa contoh lagi, Anda dapat menggunakan for fruit in fruits: dan for student in students: saat mengulang melalui fruits dan daftar students , masing-masing.

Menggunakan for Loop dengan fungsi range()

Saat Anda ingin mengakses item daftar melalui indeksnya, Anda dapat menggunakan fungsi range() .

Dalam Python, range(start, stop, step) mengembalikan objek range, yang dapat Anda ulangi untuk mendapatkan indeks: start , start + step , dan seterusnya, hingga tetapi tidak termasuk stop .

 for i in range(len(nums)): print(nums[i]) # Output 4 5 9 1 3

Anda juga dapat menggunakan fungsi range() untuk menghasilkan urutan angka untuk diulang. Pada contoh di bawah ini, kami menetapkan parameter step opsional ke 2. Jadi kami mendapatkan angka dari 10 hingga tetapi tidak termasuk 20, dalam langkah 2.

 for i in range(10,20,2): print(i) # Output 10 12 14 16 18

Menggunakan for Loop dengan Fungsi enumerate()

Saat Anda ingin mengulang melalui iterable dan mengakses item dan indeksnya secara bersamaan, Anda dapat menggunakan fungsi enumerate() .

Berikut adalah contoh.

 for idx, num in enumerate(nums): print(f"{idx}:{num}") # Output 0:4 1:5 2:9 3:1 4:3
python-untuk-loop

Cara Membaca Item dari Daftar Menggunakan for Loop dengan Python

Untuk mengulang daftar Python menggunakan for loop, Anda dapat menggunakan sintaks generik dari bagian sebelumnya.

Pada contoh di bawah, nums dapat diubah, dan num adalah variabel perulangan.

 nums = [4,5,9,1,3] for num in nums: print(f"{num} times 3 is {num*3}") # action on each num # Output 4 times 3 is 12 5 times 3 is 15 9 times 3 is 27 1 times 3 is 3 3 times 3 is 9

Cara Melewati String Menggunakan for Loop dengan Python

String Python dapat diubah dan Anda dapat melakukan perulangan, pengindeksan, pengirisan, dan banyak lagi.

Catatan : Python tidak memiliki tipe data karakter bawaan. Jadi, Anda dapat memperlakukan karakter sebagai string dengan panjang satu.

 my_string = "Code" for char in my_string: print(char) # Output C o d e

Cara Melewati Array Menggunakan for Loop dengan Python

Loop Through Array Menggunakan untuk Loop

Anda dapat mengulang array menggunakan loop dan nest for loop.

Dalam cuplikan kode di bawah ini, array1 adalah daftar bersarang yang berisi daftar yang lebih kecil sebagai elemennya. Jadi perulangan melalui array1 memberikan setiap baris, seperti yang ditunjukkan di bawah ini.

 array1 = [[2,3],[7,8]] for row in array1: print(row) # Output [2, 3] [7, 8]

Untuk mengakses elemen individual di setiap baris, Anda dapat menggunakan loop for lainnya.

 array1 = [[2,3],[7,8]] for row in array1: for elt in row: print(elt)

Dalam sel kode di atas:

  • Lingkaran for luar membantu Anda mengindeks ke dalam baris.
  • Bagian dalam for loop memungkinkan Anda untuk memasuki elemen di setiap baris.

Inilah output yang sesuai.

 Output 2 3 7 8

Cara Membaca Argumen Baris Perintah Menggunakan for Loop

Garis komando

Sebagai pengembang, Anda harus nyaman menjalankan skrip Python dari baris perintah dan menggunakan argumen baris perintah untuk berinteraksi dengan skrip Anda.

Anda dapat menggunakan modul bawaan Python seperti sys dan argparse untuk mengurai dan membaca argumen baris perintah.

Di bagian ini, kita akan membahas cara menggunakan modul sys dan menggunakan for loop—untuk mengulang daftar argumen baris perintah.

Dalam modul sys, sys.argv adalah daftar argumen baris perintah yang Anda masukkan. Jadi, Anda dapat mengulang melalui sys.argv seperti halnya Anda mengulang daftar Python apa pun.

 # main.py import sys for arg in sys.argv: print(arg)

Anda sekarang dapat menjalankan program dari baris perintah, seperti yang ditunjukkan di bawah ini.

 $ python main.py Hello Python3 main.py Hello Python3

Secara default, nama modul adalah argumen pertama dan berada pada indeks nol di sys.argv .

Jika Anda ingin mengakses indeks dan argumen terkait, Anda dapat menggunakan fungsi range() .

 # main.py import sys for i in range(len(sys.argv)): print(f"arg{i} is {sys.argv[i]}")

️ Selanjutnya, jalankan kembali main.py.

 $ python main.py Hello Python3 arg0 is main.py arg1 is Hello arg2 is Python3

Misalkan Anda ingin mengurai dan memproses argumen selain nama modul. Anda dapat mengatur nilai awal ke 1, seperti pada sel kode di bawah ini.

 # main.py import sys for i in range(1,len(sys.argv)): print(f"arg{i} is {sys.argv[i]}")
 $ python main.py Hello Python3 arg1 is Hello arg2 is Python3
python-for-loop-command-line-args

Menyatukan semuanya, file main.py berisi kode berikut.

 # main.py import sys print("\nPrinting all command-line arguments...") for arg in sys.argv: print(arg) print("\nPrinting all command-line arguments with index...") for i in range(len(sys.argv)): print(f"arg{i} is {sys.argv[i]}") print("\nPrinting command-line arguments except arg0: module_name...") for i in range(1,len(sys.argv)): print(f"arg{i} is {sys.argv[i]}")

Berikut adalah output ketika Anda menjalankan modul.

 $ python main.py Hello Python3 Printing all command-line arguments... main.py Hello Python3 Printing all command-line arguments with index... arg0 is main.py arg1 is Hello arg2 is Python3 Printing command-line arguments except arg0: module_name... arg1 is Hello arg2 is Python3

Cara Menggunakan Pernyataan break Inside untuk Loop

break Pernyataan Di Dalam untuk Loop

Seperti bahasa pemrograman lainnya, Python juga mendukung penggunaan pernyataan kontrol loop break and continue . Pernyataan ini dapat membantu mengubah aliran kontrol dalam loop, berdasarkan beberapa kondisi. Mari kita lihat bagaimana menggunakannya di dalam for loop.

Pernyataan break dapat digunakan untuk keluar dari loop ketika kondisi tertentu adalah True .

Kami ingin menulis program untuk melakukan hal berikut:

  • Perbaiki k , jumlah input.
  • Gunakan loop for untuk membaca input pengguna—satu digit setiap kali, dan jumlahkan angka non-negatif (lebih besar dari atau sama dengan nol).
  • Proses ini harus berlanjut selama pengguna memasukkan angka non-negatif.
  • Ketika pengguna memasukkan angka negatif, keluar dari loop dan cetak jumlahnya.

Berikut kode yang melakukan tugas di atas.

 k= 5 sum = 0 for i in range(k): num = int(input("\nEnter a number: ")) if num<0: break # exit loop when num < 0 sum += num print(sum)

Jika pengguna memasukkan angka kurang dari nol, kontrol keluar dari perulangan for ke pernyataan pertama setelah perulangan.

 Enter a number: 2 Enter a number: 3 Enter a number: 5 Enter a number: -1 10

Cara Menggunakan Lanjutan Pernyataan Di Dalam untuk Loop

Pernyataan continue dapat digunakan untuk melewati iterasi tertentu tergantung pada kondisi tertentu.

Mari kita gunakan contoh yang sama di bagian sebelumnya.

  • Baca input pengguna dan hitung jumlah bilangan non-negatif.
  • Jika pengguna memasukkan angka negatif, lewati iterasi itu lanjutkan ke iterasi berikutnya , dan baca di nomor berikutnya.
 k = 5 sum = 0 for i in range(k): num = int(input("\nEnter a number: ")) if num<0: continue sum += num print(sum)

Berikut adalah contoh keluaran.

 Enter a number: 2 Enter a number: 3 Enter a number: 5 Enter a number: -1 Enter a number: 3 13

Angka keempat adalah -1, yang negatif. Namun, kali ini perulangan for berlangsung sampai kita mencapai jumlah input yang ditentukan, dan mengabaikan input negatif. Pada dasarnya, ini mengembalikan jumlah semua angka non-negatif dari k angka input.

Bisakah Anda Menjalankan Infinite for Loop dengan Python?

Tak Terbatas untuk Loop

Dalam semua contoh dan kasus penggunaan yang telah kita bahas sejauh ini, kita tidak pernah mengalami masalah perulangan for yang tak terbatas. Tetapi bisakah kita memiliki loop for yang tak terbatas dengan Python?

Pertimbangkan fungsi berikut double() .

 def double(x = 1): return x*2
  • Saat Anda memanggil fungsi double() tanpa menentukan nilai x , nilai default 1 digunakan.
  • Saat Anda menentukan nilai untuk x dalam pemanggilan fungsi, nilai tersebut akan digunakan.
 double() # Returns: 2 double(20) # Returns: 40

Dalam Python, fungsi iter() mengembalikan objek iterator. Anda dapat menggunakan next(iter-obj) untuk beralih melalui urutan dan mengakses item berikutnya.

– Pertimbangkan objek yang dapat dipanggil dan nilai, sentinel .

iter(callable-object, sentinel) dapat digunakan untuk melakukan iterasi sampai nilai kembalian dari callable-object sama dengan sentinel .

Apakah Anda mengerti mengapa kita dapat memiliki perulangan for yang tak terbatas dalam kasus ini?

python-untuk-infinite-loop

Nah, Anda memiliki callable-object dan nilai sentinel . Jika nilai kembalian dari callable tidak pernah sama dengan sentinel, maka loop berlangsung selamanya!

Mari kita gunakan fungsi di atas double sebagai callable, dan atur nilai sentinel ke 0.

Catatan : Sebutkan nama fungsi double , bukan pemanggilan fungsi double() .

Karena nilai kembalian dari fungsi double selalu 2 dan tidak pernah sama dengan 0, kami memiliki loop tak terbatas!

️ Coba jalankan sel kode berikut. Ini tak terbatas untuk loop, dan Anda harus memaksa menghentikan program.

 for _ in iter(double,0): print("Running...")
python-untuk-loop-tak terbatas

Python Untuk Loop: Soal Latihan

#1 . Gunakan for loop untuk mencetak semua bilangan genap dalam rentang 0 hingga 20.

Petunjuk : Gunakan fungsi range() dengan nilai step yang benar.

#2 . Cetak semua bilangan genap dari 20 ke 0.

Petunjuk : Gunakan nilai negatif untuk parameter step dalam fungsi range() .

# 3 . Buat array NumPy tiga dimensi.

Petunjuk : Gunakan for loop dan nested for loops sesuai kebutuhan untuk mengakses baris dan entri individual dalam array.

Coba contoh

Membungkus

Berikut ringkasan dari apa yang telah Anda pelajari dalam tutorial ini.

  • Sintaks untuk menggunakan Python for loop bersama dengan fungsi range() dan enumerate()
  • Menggunakan for loop untuk mengulang daftar, array, dan string, dan membaca argumen baris perintah
  • Menggunakan pernyataan kontrol loop: break untuk keluar dari loop dan pernyataan continue untuk melewati iterasi tertentu—berdasarkan kondisi—di dalam for loop
  • Memahami kemungkinan loop for tak terbatas di Python

Selanjutnya, pelajari cara menggunakan metode split() dengan Python.