typestar

Comprensiones anidadas en Python

Comprensiones en dos dimensiones: rejillas y matrices.

cuadricula = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]

plana = [celda for fila in cuadricula for celda in fila]
duplicado = [[celda * 2 for celda in fila] for fila in cuadricula]
diagonal = [cuadricula[i][i] for i in range(len(cuadricula))]

coordenadas = [(r, c) for r in range(3) for c in range(3) if r != c]

tabla = {r: [c * r for c in range(4)] for r in range(3)}

Cómo funciona

  1. Dos cláusulas for aplanan una rejilla de filas en celdas.
  2. Una comprensión dentro de otra reconstruye las filas.
  3. El patrón se extiende a comprensiones de dicts de listas.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
9
Caracteres a escribir
361
Tokens
130
Ritmo de tres estrellas
100 tpm

Al ritmo de tres estrellas de 100 tokens por minuto, este intento toma unos 78 segundos.

Escribe este fragmento

Paso 3 de 4 en Comprensiones; paso 3 de 53 en Python pythónico.

← Anterior Siguiente →