Advertisement
teslariu

funciones superiores

Jan 15th, 2022
784
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.32 KB | None | 0 0
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. #
  4. # funciones anonimas o lambda
  5. def suma(a,b):
  6.     return a+b
  7.    
  8. sumar = lambda a,b: a+b
  9.  
  10. print(suma(1,2))
  11. print(sumar(1,2))
  12.  
  13. # funciones de orden superior
  14.  
  15. """
  16. # built-in: map, filter
  17.  
  18. # map() itera sobre todos los items de un iterable y les ejecuta la funcion
  19. # que se le paso como argumento
  20. # sintaxis: map(funcion, iterable)
  21.  
  22. # sin lambda
  23. def comienza_con_A(cadena):
  24.     if cadena[0] == "A":
  25.         return cadena
  26.  
  27. frutas = ["Anana", "Banana", "Pera", "Mandarina", "Almendra"]
  28.  
  29. mapeo = map(comienza_con_A, frutas)
  30. print(list(mapeo))
  31.  
  32. # con lambda
  33. mapeo = map(lambda cadena: cadena if cadena[0]=="A" else None, frutas)
  34. print(list(mapeo))
  35.  
  36. # filter() toma una funcion y un iterable y crea una nueva lista
  37. # sintaxis: filter(funcion, iterable)
  38.  
  39. # sin lambda:
  40. filtrado = filter(comienza_con_A, frutas)
  41. print(list(filtrado))
  42.  
  43. # con lambda
  44. filtrado = filter(lambda cadena: cadena if cadena[0]=="A" else None, frutas)
  45. print(list(filtrado))      
  46.  
  47. """
  48. # funciones orden superior propias
  49. def sumar(x):
  50.     return x + 100
  51.    
  52. def cuadrado(x):
  53.     return x**2
  54.    
  55. def superior(funcion,lista):
  56.     resultado = []
  57.     for elemento in lista:
  58.         resultado.append(funcion(elemento))
  59.     return resultado
  60.    
  61. numeros = [2,5,6]
  62.  
  63. print(superior(sumar,numeros))
  64.  
  65. print(superior(cuadrado,numeros))
  66.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement