Fungsi map untuk lelaran objek dalam Python
Katakan kita mempunyai fungsi square untuk
memangkatkan nombor. Dan terdapat satu senarai
yang elemen-elemennya perlu dikenakan
fungsi ini:
def square(num):
return num ** 2
lst = [2, 3, 6, 8, 15]
Dalam Python untuk menyelesaikan masalah ini,
kita boleh menggunakan fungsi khas map.
Ia menerima fungsi dan senarai sebagai parameter,
kepada elemen-elemennya yang perlu dikenakan.
Mari kita gunakan map untuk menyelesaikan
contoh:
res = map(square, lst)
print(res)
Setiap senarai seperti mana-mana objek kompleks lain menduduki banyak ruang dalam memori sistem Python. Oleh itu, untuk menjimatkan sumber, selepas kod dilaksanakan, bukan senarai baru yang akan dikembalikan, tetapi objek peta boleh lelar yang khas:
<map object at 0x000001F16674BA00>
Mari kita lelakikannya dengan gelung:
for el in res:
print(el)
Hasilnya, semua elemen senarai baru akan dipaparkan:
4
9
36
64
225
Untuk mencipta senarai baru daripada objek peta,
kita perlu mengenakan fungsi list ke atasnya:
lst = [2, 3, 6, 8, 15]
res = map(square, lst)
Hasilnya, senarai berikut akan dipaparkan:
[4, 9, 36, 64, 225]
Juga, ketika bekerja dengan fungsi map dalam
parameter pertama, kita boleh menetapkan fungsi lambda.
Mari kita tulis semula contoh sebelumnya dengan
menggunakan fungsi lambda:
res = map(lambda num: num ** 2, lst, lst)
print(list(res))
Tulis semula kod berikut melalui fungsi lambda:
def func(num):
return num + 1
lst = [1, 2, 3, 4, 5]
res = map(func, lst)
print(list(res))
Tulis semula kod berikut melalui fungsi lambda:
def func(txt):
return txt[::-1]
lst = ['123', '456', '789']
res = map(func, lst)
print(list(res))