Funktionen map til iteration af objekter i Python

Lad os sige, at vi har en funktion square til at opløfte tal i anden potens. Og der er en liste, hvis elementer funktionen skal anvendes på:

pythondef square(num):
  return num ** 2

lst = [2, 3, 6, 8, 15]

I Python for at løse denne opgave kan man bruge en speciel funktion map. Den tager en funktion og en liste som parametre, som funktionen skal anvendes på elementerne af. Lad os bruge map til at løse eksemplet:

pythonres = map(square, lst)
print(res)

Hver liste, som ethvert komplekst objekt, optager meget plads i Pythons systemhukommelse. Derfor, for at spare ressourcer, returneres der ikke en ny liste efter udførelse af koden, men et specielt itererbart map-objekt:

python<map object at 0x000001F16674BA00>

Lad os iterere gennem det med en løkke:

pythonfor el in res:
  print(el)

Som resultat vil alle elementerne i den nye liste blive vist:

python4
9
36
64
225

For at oprette en ny liste fra map-objektet skal man anvende funktionen list på det:

pythonlst = [2, 3, 6, 8, 15]
res = map(square, lst)

Som resultat vil følgende liste blive vist:

python[4, 9, 36, 64, 225]

Også når man arbejder med funktionen map kan man angive en lambda-funktion i den første parameter. Lad os omskrive det forrige eksempel ved hjælp af en lambda-funktion:

pythonres = map(lambda num: num ** 2, lst, lst)
print(list(res))
Задание 1

Omskriv følgende kode med en lambda-funktion:

pythondef func(num):
  return num + 1

lst = [1, 2, 3, 4, 5]
res = map(func, lst)
print(list(res))
Задание 2

Omskriv følgende kode med en lambda-funktion:

pythondef func(txt):
  return txt[::-1]

lst = ['123', '456', '789']
res = map(func, lst)
print(list(res))