Fungsi Iterator Bawaan
Pelajaran 7 dari 13 dalam kursus Iterator Python di Coddy.
Python menyediakan beberapa fungsi bawaan yang bekerja dengan iterator, sehingga kamu dapat memanipulasi dan memproses data iterable dengan lebih mudah. Mari kita bahas tiga fungsi yang umum digunakan: enumerate(), zip(), dan reversed().
1. enumerate()
Fungsi enumerate() menambahkan penghitung ke iterable dan mengembalikannya sebagai object enumerate. Fungsi ini sangat berguna saat kamu membutuhkan indeks dan nilai elemen dalam iterable.
fruits = ['apple', 'banana', 'cherry']
for index, fruit in enumerate(fruits):
print(f"{index}: {fruit}")
# output:
# 0: apple
# 1: banana
# 2: cherry
2. zip()
Fungsi zip() membuat iterator berisi tuple. Setiap tuple berisi elemen ke-i dari setiap iterable input. Fungsi ini berguna untuk menggabungkan beberapa iterable.
names = ['Alice', 'Bob', 'Charlie']
ages = [25, 30, 35]
for name, age in zip(names, ages):
print(f"{name} is {age} years old")
# output:
# Alice is 25 years old
# Bob is 30 years old
# Charlie is 35 years old
3. reversed()
Fungsi reversed() mengembalikan iterator terbalik. Fungsi ini membuat iterator yang mengakses urutan yang diberikan dalam urutan terbalik.
numbers = [1, 2, 3, 4, 5]
for num in reversed(numbers):
print(num)
# output:
# 5
# 4
# 3
# 2
# 1
Fungsi bawaan ini menyediakan alat yang ampuh untuk bekerja dengan iterator, sehingga kamu dapat dengan mudah menambahkan penghitung, menggabungkan iterable, atau membalik urutan. Fungsi-fungsi ini dapat menyederhanakan kodemu secara signifikan dan membuatnya lebih mudah dibaca saat menangani struktur data iterable.
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Tantangan
MudahBuat program yang memproses list produk dan harganya, dengan menggabungkan fungsi enumerate(), zip(), dan reversed() untuk menghasilkan output berformat.
Kamu diberi input berikut:
- String berisi nama produk, dipisahkan dengan koma
- String berisi harga yang sesuai, dipisahkan dengan koma
Programmu harus:
- Mengubah string input menjadi list produk dan harga
- Menggunakan
zip()untuk memasangkan produk dengan harganya - Menggunakan
reversed()untuk membalik urutan item yang dipasangkan - Menggunakan
enumerate()untuk menambahkan penghitung pada setiap item - Mencetak setiap item dengan format: "#{counter}. {product}: ${price}"
Cetak setiap item berformat pada baris baru.
Coba sendiri
# Baca input
products = input().split(',')
prices = input().split(',')
# Ubah prices menjadi bilangan desimal
prices = [float(price) for price in prices]
# TODO: Tulis kodemu di bawah ini
# Petunjuk: Gunakan zip(), reversed(), dan enumerate() untuk memproses data
# Cetak output yang sudah diformat
# Ingat untuk mencetak setiap item pada baris baruSemua pelajaran di Iterator Python
2Membuat Iterator Kustom
Mengimplementasikan __iter__()Mengimplementasikan __next__()Iterator Tak TerbatasLatihan sendiri: Compiler Python online