Kazi ya map kwa iteresheni ya vitu katika Python
Wacha tuwe na kazi square ya
kuinua namba mraba. Na kuna orodha,
ambayo vipengele vyake, inahitaji kutumika
kazi hii:
def square(num):
return num ** 2
lst = [2, 3, 6, 8, 15]
Katika Python ili kutatua tatizo hili, inaweza
kutumika kazi maalum map.
Inakubali vigezo kazi na orodha,
ambayo vipengele vyake inahitaji kutumika.
Wacha tutumie map kwa ajili ya kutatua
mfano:
res = map(square, lst)
print(res)
Kila orodha kama na kitu chochote ngumu kinachukua nafasi nyingi katika kumbukumbu ya mfumo ya Python. Kwa hivyo kwa ajili ya kuokoa rasilimali baada ya utekelezaji wa msimbo itarudi sio orodha mpya, lakini kitu maalum kinachoweza kuitereshwa cha map:
<map object at 0x000001F16674BA00>
Wacha tuitereshe kwa mzunguko:
for el in res:
print(el)
Kama matokeo yataonyeshwa vipengele vyote vya orodha mpya:
4
9
36
64
225
Ili kuunda kutoka kwa kitu cha map orodha mpya,
inahitajika kutumika kwake kazi list:
lst = [2, 3, 6, 8, 15]
res = map(square, lst)
Kama matokeo yataonyeshwa orodha ifuatayo:
[4, 9, 36, 64, 225]
Pia wakati wa kufanya kazi na kazi map katika
kigezo cha kwanza inaweza kubainisha kazi ya lambda.
Wacha tuandike upya mfano uliopita kwa
msaada wa kazi ya lambda:
res = map(lambda num: num ** 2, lst, lst)
print(list(res))
Andika upya msimbo ufuatao kupitia kazi ya lambda:
def func(num):
return num + 1
lst = [1, 2, 3, 4, 5]
res = map(func, lst)
print(list(res))
Andika upya msimbo ufuatao kupitia kazi ya lambda:
def func(txt):
return txt[::-1]
lst = ['123', '456', '789']
res = map(func, lst)
print(list(res))