teslariu

map filter lambda y zip

Jun 29th, 2023
1,094
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.45 KB | None | 0 0
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. #
  4. # Funciones de orden superior: map, filter
  5. # 1) funcion lambda o inline o anónima
  6. """
  7. def sumar(x,y):
  8.    return x + y
  9.    
  10. suma = lambda x,y: x + y
  11.  
  12. total = sumar(1,2)
  13. print(total)
  14.  
  15. total2 = suma(100,200)
  16. print(total2)
  17.  
  18. # funcion map: itera sobre un iterable y le aplica una función a cada
  19. # uno de sus elementos
  20. # map(funcion, iterable)
  21.  
  22. # a) map() sin lambda
  23. # script que busca las palabras que empiezan con "a" dentro de una lista
  24. lista = ["ala", "barco", "pena", "alamo", "condor", "abeliano"]
  25.  
  26. def empieza_con_A(palabra):
  27.    if palabra.startswith("a"):
  28.        return palabra
  29.  
  30. mapeo = map(empieza_con_A,lista)
  31. print(list(mapeo))
  32.  
  33. # b) map() con lambda
  34. lista = ["ala", "barco", "pena", "alamo", "condor", "abeliano"]
  35. mapeo = map(lambda s: s if s.startswith("a") else False,lista)
  36. print(list(mapeo))
  37.  
  38.  
  39.  
  40. ## filter: similar a map, pero solamente devuelve los items que
  41. # cumplen la condicion (True)
  42.  
  43. # el mismo ejemplo anterior
  44. lista = ["ala", "barco", "pena", "alamo", "condor", "abeliano"]
  45. filtrado = filter(lambda s: s.startswith("a"),lista)
  46. print(list(filtrado))
  47. """
  48.  
  49. # Otra función integrada "normal" (no es de orden superior): zip()
  50. paises = ["Francia", "Argentina", "Italia"]
  51. capitales = ["Paris", "BsAs", "Roma"]
  52.  
  53. # script que imprime una tabla de paises y su capital
  54. for pais,capital in zip(paises, capitales):
  55.     print(pais, capital, sep=" -*- ")
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
Advertisement
Add Comment
Please, Sign In to add comment