PythonLección 12 de 16
Listas por comprensión en Python
Una lista por comprensión es una forma corta de crear una lista a partir de otra. Lo que suele ocupar un bucle con append cabe en una sola línea.
Lo esencial
- [expresión for x in lista] crea una lista con los elementos transformados
- [x for x in lista if condición] se queda solo con los que encajan
- La lista original no cambia
- sum(), min(), max() y len() funcionan muy bien con el resultado
- Si la línea se vuelve ilegible, vuelve al bucle normal
Ejemplo
squares = [n * n for n in range(1, 6)]print(squares) names = ["anna", "leo", "mia"]print([name.title() for name in names]) prices = [90, 450, 120, 700]cheap = [p for p in prices if p < 200]print(cheap)Tres comprensiones: cuadrados, nombres con mayúscula y solo los precios baratos. Cada una sustituye un bucle de tres líneas.
Tarea
Cómo usar el editor⌘ Enter o Ctrl Enter ejecuta el código, ⇧ ⌘ Enter comprueba la tarea.Tab y Mayús Tab sangran la línea o la selección; Esc y luego Tab sale del editor.La comprobación compara lo que imprimió el programa con la tarea; los espacios al final de línea no cuentan.Tras dos comprobaciones fallidas puedes ver la solución. Tu código se guarda en este navegador.El diario del tiempo tiene cinco temperaturas. Reescribe warm como lista por comprensión que guarde solo los días de 20 grados o más. La media sale sola.
Salida
Aquí aparecerá lo que imprima el programa.