teslariu

func de orden superior

Jul 30th, 2022
1,172
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.88 KB | None | 0 0
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. #
  4. # funciones de orden superior y anònimas u inline
  5.  
  6. # funcion habitual
  7. def suma(x,y):
  8.     return x+y
  9.  
  10. print(suma(2,5))
  11.    
  12. # funcion suma pero en forma anònima (funcion lambda)
  13. total = lambda x,y: x+y    
  14. print(total(2,5))
  15.  
  16. # funciones de orden superior de python con y sin funciones anónimas
  17. # ej: map(funcion, iterable(s))
  18.  
  19. frutas = ["Anana", "Pera", "Mandarina","Almendra"]
  20.  
  21. # 1) Sin lambda
  22. def empieza_con_A(s):
  23.     if s[0] == "A":
  24.         return s
  25.     else:
  26.         return False
  27. mapeo = map(empieza_con_A,frutas)
  28. print(list(mapeo))
  29.  
  30. # 2) Con lambda
  31. mapeo = map(lambda s: s if s[0]=="A" else False, frutas)
  32. print(list(mapeo))
  33.  
  34. # arriba use map como filtro => existe otra func de orden superior
  35. # llamada filter: filter(funcion, iterable(s))
  36. filtrado = filter(lambda s: s[0]=="A", frutas)
  37. print(list(filtrado))
Advertisement
Add Comment
Please, Sign In to add comment