Fungsi map untuk Iterasi Objek di Python
Misalkan kita memiliki fungsi square untuk
memangkatkan bilangan. Dan ada sebuah list,
yang elemen-elemennya perlu diterapkan
fungsi tersebut:
def square(num):
return num ** 2
lst = [2, 3, 6, 8, 15]
Di Python untuk menyelesaikan tugas ini, kita bisa
menggunakan fungsi khusus map.
Ia menerima sebuah fungsi dan sebuah list sebagai parameter,
ke elemen-elemen yang perlu diterapkan fungsinya.
Mari kita gunakan map untuk menyelesaikan
contoh:
res = map(square, lst)
print(res)
Setiap list seperti objek kompleks lainnya menempati banyak ruang dalam memori sistem Python. Oleh karena itu untuk menghemat sumber daya, setelah kode dieksekusi, yang dikembalikan bukanlah list baru, tapi sebuah objek map iterable yang khusus:
<map object at 0x000001F16674BA00>
Mari kita iterasi objek tersebut dengan loop:
for el in res:
print(el)
Hasilnya, semua elemen dari list baru akan ditampilkan:
4
9
36
64
225
Untuk membuat list baru dari objek map,
kita perlu menerapkan fungsi list padanya:
lst = [2, 3, 6, 8, 15]
res = map(square, lst)
Hasilnya, list berikut akan ditampilkan:
[4, 9, 36, 64, 225]
Juga, saat bekerja dengan fungsi map,
pada parameter pertama kita dapat menentukan fungsi lambda.
Mari kita tulis ulang contoh sebelumnya
dengan menggunakan fungsi lambda:
res = map(lambda num: num ** 2, lst, lst)
print(list(res))
Tulis ulang kode berikut melalui fungsi lambda:
def func(num):
return num + 1
lst = [1, 2, 3, 4, 5]
res = map(func, lst)
print(list(res))
Tulis ulang kode berikut melalui fungsi lambda:
def func(txt):
return txt[::-1]
lst = ['123', '456', '789']
res = map(func, lst)
print(list(res))