Python For Loop (Iterables)
Reno Iqbalsah
11/05/2023
Bagian ini membahas penggunaan for loop untuk mengiterasi tipe-tipe data berbasis objek yang termasuk iterables dalam bahasa pemrograman Python.
Ketika membahas tentang tipe data pada bahasa pemrograman Python, kita sudah menyebutkan beberapa tipe data merupakan iterables, atau dapat dilakukan iterasi. Misalnya adalah tipe data string, list, tuple, dan set. Maksut dari iterables di sini adalah bahwa pada tipe data tersebut dapat dilakukan loop atas elemen-elemen di dalamnya.
Iterasi pada list
/ tuple
/ set
Contoh iterasi pada list
list1 = ["kucing", "sapi", "kambing"]
for i in list1:
print(i)
# output :
# kucing
# sapi
# kambing
Untuk mengiterasi sebuah tipe data iterable, kita hanya perlu mengganti fungsi range()
pada for loop menjadi objek yang akan kita iterasikan, maka nilai i
akan menjadi
urutan dari nilai dalam objek tersebut. Contoh di atas menggunakan tipe data list
sebagai objek yang diiterasikan, tapi tipe data tuple
maupun set
juga dapat diiterasikan dengan
cara yang sama persis dengan kode di atas.
Untuk menambah readability atau keterbacaan kode kita, kita dapat mengubah nama variabel-variabel di atas menjadi seperti ini
peternakan = ["kucing", "sapi", "kambing"]
for hewan in peternakan:
print(hewan)
Kode tersebut akan menghasilkan output yang sama persis dengan kode di atasnya.
Iterasi pada str
Kita juga dapat mengiterasi tipe data string dengan metode sama persis dengan cara di atas. Hanya saja, nilai variabel iterasi akan menyesuaikan dengan masing-masing karakter pada objek yang diiterasikan.
for char in "kucing":
print(char)
# output:
# k
# u
# c
# i
# n
# g
Pada kode di atas, seluruh karakter pada kata “kucing” akan dikeluarkan sebagai output, dan dapat dilihat bahwa kita tidak harus menyimpan value “kucing” ke dalam sebuah variabel untuk dilakukan iterasi.
Kita coba sekali lagi, dengan mengubah seluruh huruf “a” pada kaliman “aku suka belajar programming” menjadi huruf “i”.
kalimat = "aku suka belajar programming"
for char in kalimat:
if char == a:
print("i", end="")
else:
print(char, end="")
# output : iku suki belijir progrimming
Perbandingan dengan Fungsi range()
Bagaimana kita bisa melakukan iterasi terhadap objek dengan cara yang sama persis dengan for loop menggunakan fungsi range()
?
Jawabannya sangatlah mudah, karena kedua loop tersebut menggunakan prinsip yang sama. Lihat pada kode di bawah ini, dan cobalah jalankan sendiri.
print(range(5)) # output : [0, 1, 2, 3, 4]
Apa output yang dihasilkan dari kode tersebut? Benar sekali, fungsi range(n)
adalah fungsi yang menghasilkan sebuah list
dengan
elemen di dalamnya berupa angka dari 0
sampai n-1
. Sehingga, ketika kita melakukan for loop menggunakan range()
, sebenarnya kita
sedang melakukan iterasi pada list
yang dihasilkan oleh fungsi tersebut.
Challange: Suara Hewan
Buatlah sebuah list
berisi 5 hewan, yang termasuk di dalamnya kucing dan sapi (3 hewan lainnya bebas). Kemudian tulislah kode
di mana ketika hewan yang terpilih adalah kucing, maka keluarkan output “meong” sedangkan jika sapi, keluarkan output “moo”, jika
hewan lain maka keluarkan output “hmmmm”.