Iterables
Iterable merupakan konsep penting dalam Python, terutama ketika bekerja dengan perulangan seperti for.
Secara sederhana, iterable adalah objek yang dapat diproses satu elemen demi satu elemen.
Konsep ini akan banyak digunakan ketika bekerja dengan list, tuple, set, string, dictionary, dan berbagai struktur data lainnya.
Iterable dan Iterate
Iterable
Iterable adalah objek yang dapat diiterasi atau dilalui elemen demi elemen.
Beberapa contoh objek yang termasuk iterable:
listtuplesetstringdictionary
Contoh:
numbers = [1, 2, 3, 4, 5]
for number in numbers:
print(number)
Pada contoh tersebut, numbers merupakan iterable karena setiap elemennya dapat diproses satu per satu.
Iterate
Iterate adalah proses melakukan iterasi terhadap sebuah iterable.
Contohnya:
for number in [1, 2, 3]:
print(number)
Prosesnya dapat digambarkan sebagai:
1 → 2 → 3
Python mengambil setiap elemen secara berurutan dan menjalankan kode di dalam for untuk setiap elemen tersebut.
Iterable dan Non-Iterable
Tidak semua objek Python dapat diiterasi.
Contoh iterable:
for character in "Python":
print(character)
String dapat diiterasi karena terdiri dari beberapa karakter.
Sebaliknya, tipe data seperti int bukan iterable:
number = 100
for item in number:
print(item)
Kode tersebut akan menghasilkan error karena integer tidak dapat diiterasi.
TypeError: 'int' object is not iterable
Hal yang sama berlaku pada tipe data tunggal seperti float.
Mengiterasi Dictionary
Dictionary juga merupakan iterable.
Misalnya:
user = {
"name": "Gollum",
"age": 5000,
"can_swim": False
}
Jika dictionary langsung digunakan dalam for loop, Python secara default akan melakukan iterasi terhadap key.
for item in user:
print(item)
Output:
name
age
can_swim
Jadi, secara default:
for item in dictionary:
akan menghasilkan key dari dictionary.
Mengambil Key dengan .keys()
Method .keys() digunakan untuk mendapatkan seluruh key dari dictionary.
user = {
"name": "Gollum",
"age": 5000,
"can_swim": False
}
for key in user.keys():
print(key)
Output:
name
age
can_swim
Meskipun menuliskan:
for key in user:
juga menghasilkan key, penggunaan .keys() dapat membuat maksud kode menjadi lebih eksplisit.
Mengambil Value dengan .values()
Jika ingin melakukan iterasi terhadap nilai dictionary, gunakan .values().
for value in user.values():
print(value)
Output:
Gollum
5000
False
Method ini berguna ketika program hanya membutuhkan nilai tanpa perlu mengetahui key-nya.
Mengambil Key dan Value dengan .items()
Jika program membutuhkan key dan value sekaligus, gunakan .items().
for item in user.items():
print(item)
Output:
("name", "Gollum")
("age", 5000)
("can_swim", False)
Setiap item yang dihasilkan oleh .items() merupakan pasangan key dan value dalam bentuk tuple.
Tuple Unpacking pada .items()
Karena .items() menghasilkan pasangan key dan value, kita dapat menggunakan tuple unpacking secara langsung dalam for loop.
for key, value in user.items():
print(key, value)
Output:
name Gollum
age 5000
can_swim False
Pada setiap iterasi:
key, value
akan menerima dua nilai dari pasangan tuple yang dihasilkan oleh .items().
Contohnya:
("name", "Gollum")
akan dibongkar menjadi:
key = "name"
value = "Gollum"
Kemudian proses yang sama dilakukan untuk item berikutnya.
Pola Singkat untuk Dictionary
Dalam kode Python, Anda akan sering menemukan pola berikut:
for key, value in user.items():
print(key, value)
Nama variabel juga sering dibuat lebih singkat:
for k, v in user.items():
print(k, v)
k biasanya digunakan sebagai singkatan dari key, sedangkan v digunakan sebagai singkatan dari value.
Namun, untuk kode yang membutuhkan keterbacaan tinggi, nama seperti key dan value biasanya lebih mudah dipahami.
Perbandingan .keys(), .values(), dan .items()
| Method | Data yang Dihasilkan | Penggunaan |
|---|---|---|
.keys() | Key | Ketika hanya membutuhkan key |
.values() | Value | Ketika hanya membutuhkan value |
.items() | Key dan value | Ketika membutuhkan keduanya |
Contoh:
user = {
"name": "Gollum",
"age": 5000
}
Mengambil key:
for key in user.keys():
print(key)
Mengambil value:
for value in user.values():
print(value)
Mengambil key dan value:
for key, value in user.items():
print(key, value)
Ringkasan
Beberapa konsep utama yang perlu diingat:
- Iterable adalah objek yang dapat diiterasi elemen demi elemen.
- Iterate adalah proses mengakses elemen dalam sebuah iterable.
- List, tuple, set, string, dan dictionary merupakan contoh iterable.
- Integer dan float bukan iterable.
- Secara default,
forpada dictionary melakukan iterasi terhadap key. .keys()digunakan untuk mendapatkan key..values()digunakan untuk mendapatkan value..items()digunakan untuk mendapatkan pasangan key dan value..items()sering digunakan bersama tuple unpacking.
Pola yang sangat umum dalam Python adalah:
for key, value in dictionary.items():
print(key, value)
Memahami konsep iterable akan menjadi dasar penting untuk materi perulangan berikutnya, termasuk range(), enumerate(), break, continue, dan berbagai teknik pemrosesan koleksi data.