ComenzarEmpieza gratis

Acceder a subarrays

¡Accedamos a elementos en arrays de NumPy! Tu tarea es convertir un array bidimensional cuadrado square de tamaño size en una lista siguiendo un patrón en espiral:

Traversing the matrix in spiral way

En lugar de acceder simplemente a ciertos slices, vas a definir una solución más general usando un bucle for (la solución debe funcionar para todos los arrays bidimensionales cuadrados de tamaño impar).

El módulo numpy ya está importado como np.

Vas a necesitar la función reversed(), que invierte un Iterable.

Este ejercicio forma parte del curso

Practicing Coding Interview Questions in Python

Ver curso

Instrucciones del ejercicio

  • Convierte cada parte marcada con una flecha roja en una lista.
  • Convierte cada parte marcada con una flecha verde en una lista.
  • Convierte cada parte marcada con una flecha azul en una lista.
  • Convierte cada parte marcada con una flecha magenta en una lista.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

spiral = []

for i in range(0, size):
    # Convert each part marked by any red arrow to a list
    spiral += list(square[i, ____:____])
    # Convert each part marked by any green arrow to a list
    spiral += list(square[____:____, size-i-1])
    # Convert each part marked by any blue arrow to a list
    spiral += list(reversed(square[size-i-1, ____:____]))
    # Convert each part marked by any magenta arrow to a list
    spiral += list(reversed(square[____:size-i-1, ____]))
        
print(spiral)
Editar y ejecutar código