Python: Justificación de la matriz NumPy
Por favor, soy un poco nuevo paraPython
y ha sido agradable, podría comentar que Python es muy sexy hasta que necesito cambiar el contenido de una matriz 4x4 que quiero usar para construir una demostración del juego en 2048.aquí Tengo esta funcion
def cover_left(matrix):
new=[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]]
for i in range(4):
count=0
for j in range(4):
if mat[i][j]!=0:
new[i][count]=mat[i][j]
count+=1
return new
Esto es lo que hace esta función si la llamas así
cover_left([
[1,0,2,0],
[3,0,4,0],
[5,0,6,0],
[0,7,0,8]
])
Cubrirá los ceros a la izquierda y producirá
[ [1, 2, 0, 0],
[3, 4, 0, 0],
[5, 6, 0, 0],
[7, 8, 0, 0]]
Por favor, necesito que alguien me ayude con unnumpy
creo que será más rápido y requerirá menos código (lo estoy usando en un algoritmo de búsqueda de profundidad primero) y, lo que es más importante, la implementación decover_up
, cover_down
y
`cover_left`.
`cover_up`
[ [1, 7, 2, 8],
[3, 0, 4, 0],
[5, 0, 6, 0],
[0, 0, 0, 0]]
`cover_down`
[ [0, 0, 0, 0],
[1, 0, 2, 0],
[3, 0, 4, 0],
[5, 7, 6, 8]]
`cover_right`
[ [0, 0, 1, 2],
[0, 0, 3, 4],
[0, 0, 5, 6],
[0, 0, 7, 8]]
Gracias por adelantado.