Melakukan iterasi atas iterable (2)
Salah satu hal yang Anda pelajari di bab ini adalah bahwa tidak semua iterable merupakan daftar (list) sebenarnya. Beberapa contoh yang kita lihat adalah string dan penggunaan fungsi range(). Pada latihan ini, kita akan berfokus pada fungsi range().
Anda dapat menggunakan range() dalam sebuah for seolah-olah itu adalah list yang akan diiterasi:
for i in range(5):
print(i)
Ingat bahwa range() sebenarnya tidak membuat list; alih-alih, fungsi ini membuat objek range dengan sebuah iterator yang menghasilkan nilai hingga mencapai batasnya (pada contoh, hingga nilai 4). Jika range() membuat list yang sebenarnya, memanggilnya dengan nilai \(10^{100}\) mungkin tidak akan berhasil, terutama karena angka sebesar itu kemungkinan melampaui memori komputer biasa. Nilai \(10^{100}\) disebut sebagai Googol, yaitu angka 1 diikuti seratus nol. Itu angka yang sangat besar!
Tugas Anda pada latihan ini adalah menunjukkan bahwa memanggil range() dengan \(10^{100}\) tidak akan membuat list terlebih dahulu.
Latihan ini adalah bagian dari kursus
Kotak Perkakas Python
Petunjuk latihan
- Buat objek iterator
small_valueatasrange(3)menggunakan fungsiiter(). - Dengan
forloop, lakukan iterasi atasrange(3), cetak nilainya pada setiap iterasi. Gunakannumsebagai variabel loop. - Buat objek iterator
googolatasrange(10 ** 100).
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# Create an iterator for range(3): small_value
small_value = ____
# Print the values in small_value
print(next(small_value))
print(next(small_value))
print(next(small_value))
# Loop over range(3) and print the values
# Create an iterator for range(10 ** 100): googol
googol = ____
# Print the first 5 values from googol
print(next(googol))
print(next(googol))
print(next(googol))
print(next(googol))
print(next(googol))