Saltar al contenido

Comprensiones de listas anidadas de Python para crear una matriz

Solución:

Puede utilizar la siguiente comprensión de lista anidada:

answer = [[i*j for i in range(1, j+1)] for j in range(1, 8)]
print(answer)

Producción

[[1],
 [2, 4],
 [3, 6, 9],
 [4, 8, 12, 16], 
 [5, 10, 15, 20, 25], 
 [6, 12, 18, 24, 30, 36], 
 [7, 14, 21, 28, 35, 42, 49]]

Cambiaste tu for bucles. Simplemente cámbielos de nuevo:

test =  [   
    [str(x*y).rjust(2) for y in range(1,x+1)]
    for x in range(1,8) 
] 
for t in test:
    print ' '.join

La razón de esto es que desea una nueva lista una vez para cada x, pero la lista interna tiene tantos números como y.

Python 3

print("n".join([" ".join([str(x*y) for y in range(1,x+1)]) for x in range(1,8) ]))

Python 2

print "n".join([" ".join([str(x*y) for y in range(1,x+1)]) for x in range(1,8) ])

Proceso de dos pasos.

Únase a la lista por espacio a saber. salida ‘1’, ‘2 4’, ‘3 6 9’, etc.

Únase a la lista resultante por ‘ n’ e imprima el resultado

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags :

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *