Python LanguageListar comprensiones


Introducción

Las comprensiones de listas en Python son construcciones sintácticas concisas. Se pueden utilizar para generar listas de otras listas aplicando funciones a cada elemento de la lista. La siguiente sección explica y demuestra el uso de estas expresiones.

Sintaxis

  • [x + 1 para x en (1, 2, 3)] # comprensión de lista, da [2, 3, 4]
  • (x + 1 para x en (1, 2, 3)) # expresión del generador, producirá 2, luego 3, luego 4
  • [x para x en (1, 2, 3) si x% 2 == 0] # enumerar comprensión con filtro, da [2]
  • [x + 1 si x% 2 == 0 sino x para x en (1, 2, 3)] # lista comprensión con ternario
  • [x + 1 si x% 2 == 0 sino x para x en el rango (-3,4) si x> 0] # lista comprensión con ternario y filtrado
  • {x para x en (1, 2, 2, 3)} # establecer comprensión, da {1, 2, 3}
  • {k: v para k, v en [('a', 1), ('b', 2)]} # dict comprensión, da {'a': 1, 'b': 2} (python 2.7+ y 3.0+ solamente)
  • [x + y para x en [1, 2] para y en [10, 20]] # Bucles anidados, da [11, 21, 12, 22]
  • [x + y para x en [1, 2, 3] si x> 2 para y en [3, 4, 5]] # Condición verificada al principio para bucle
  • [x + y para x en [1, 2, 3] para y en [3, 4, 5] si x> 2] # Condición verificada en 2da para bucle
  • [x para x en xrange (10) si x% 2 == 0] # Condición verificada si los números en bucle son números impares

Observaciones

Las comprensiones son construcciones sintácticas que definen estructuras de datos o expresiones exclusivas de un idioma en particular. El uso adecuado de las comprensiones las reinterpreta en expresiones fáciles de entender. Como expresiones, se pueden utilizar:

  • en el lado derecho de las tareas
  • como argumentos para llamadas de funcion
  • en el cuerpo de una función lambda
  • como declaraciones independientes. (Por ejemplo: [print(x) for x in range(10)] )

Listar comprensiones Ejemplos relacionados