Untuk Loop di Python: Semua yang Perlu Anda Ketahui
Diterbitkan: 2022-08-18Tutorial 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 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

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()
danenumerate()
.
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 termasukstop
.
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

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

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

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

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

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?

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 nilaix
, 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 daricallable-object
sama dengansentinel
.
Apakah Anda mengerti mengapa kita dapat memiliki perulangan for yang tak terbatas dalam kasus ini?

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: 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.
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.