Fonction map pour itérer les objets en Python

Supposons que nous ayons une fonction square pour élever les nombres au carré. Et il y a une liste dont les éléments doivent recevoir l'application de cette fonction :

pythondef square(num):
  return num ** 2

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

En Python, pour résoudre cette tâche, on peut utiliser une fonction spéciale map. Elle prend comme paramètres une fonction et une liste, aux éléments de laquelle elle doit être appliquée. Utilisons map pour résoudre l'exemple :

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

Chaque liste, comme tout objet complexe, occupe beaucoup de place dans la mémoire système de Python. Donc, pour économiser les ressources, après l'exécution du code, ce n'est pas une nouvelle liste qui sera renvoyée, mais un objet map itérable spécial :

python<map object at 0x000001F16674BA00>

Parcourons-le avec une boucle :

pythonfor el in res:
  print(el)

En conséquence, tous les éléments de la nouvelle liste s'afficheront :

python4
9
36
64
225

Pour créer une nouvelle liste à partir de l'objet map, il faut lui appliquer la fonction list :

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

En conséquence, la liste suivante s'affichera :

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

Aussi, lors du travail avec la fonction map, on peut spécifier une fonction lambda dans le premier paramètre. Réécrivons l'exemple précédent avec l'aide d'une fonction lambda :

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

Réécrivez le code suivant en utilisant une fonction lambda :

pythondef func(num):
  return num + 1

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

Réécrivez le code suivant en utilisant une fonction lambda :

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

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