Advertisement
teslariu

filter map lambda

Mar 31st, 2022
1,148
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.55 KB | None | 0 0
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. #
  4. '''
  5. Script que demuestra el uso de docstrings mediante help()
  6.  
  7.  
  8. def suma(a,b):
  9.     """Función que suma dos argumentos numéricos. Si se les pasa
  10.     como argumentos dos listas o dos cadenas, las concatena"""
  11.     print(a+b)
  12.    
  13.    
  14. suma(1,2)
  15. suma([1,2],[10,11])
  16. suma("Hola","Chau")
  17.  
  18.  
  19. # Funciones de orden superior
  20. def sumar_cien(x):
  21.     return x+100
  22.    
  23. def cuadrado(x):
  24.     return x**2
  25.    
  26. def superior(funcion, lista):
  27.     resultado = []
  28.     for item in lista:
  29.         resultado.append(funcion(item))
  30.     return resultado
  31.  
  32. # creo una lista para ser argumento de superior
  33. numeros = [2,3,10]
  34.  
  35. # llamo a superior y le paso sumar_cien y numeros como argumentos
  36. print(superior(sumar_cien,numeros))
  37.  
  38. # llamo a superior y le paso cuadrado y numeros como argumentos
  39. print(superior(cuadrado,numeros))
  40.  
  41. '''
  42. # funciones de orden superior (map y filter) y función lambda
  43. cuadrado = lambda x: x**2
  44. print(cuadrado(10))
  45.  
  46. ################## map itera sobre items y les aplica una funcion
  47.  
  48. def comienza_con_a(cadena):
  49.     if cadena[0] == "a":
  50.         return cadena
  51.  
  52. #sin lambda    
  53. frutas = ["anana", "pera","sandia","arandano"]
  54. mapeo = map(comienza_con_a,frutas)
  55. print(list(mapeo))
  56.  
  57. # con lambda
  58. mapeo = map(lambda cadena: cadena if cadena[0]=="a" else False,frutas)
  59. print(list(mapeo))
  60.  
  61. #################### filter elimina los que no empiezan con a
  62. # sin lambda
  63. filtrado = filter(comienza_con_a,frutas)
  64. print(list(filtrado))
  65.  
  66. # con lambda
  67. filtrado = filter(lambda cadena: cadena if cadena[0]=="a" else False,frutas)
  68. print(list(filtrado))
  69.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement