Acessando subarrays
Vamos acessar elementos em arrays do NumPy! Sua tarefa é converter um array bidimensional quadrado square de tamanho size em uma lista criada seguindo um padrão em espiral:

Em vez de simplesmente acessar alguns fatias, você vai definir uma solução mais geral usando um loop for (a solução deve funcionar para todos os arrays bidimensionais quadrados de tamanho ímpar).
O módulo numpy já está importado como np.
Você vai precisar da função reversed(), que inverte um Iterable.
Este exercício faz parte do curso
Praticando questões de entrevista de código em Python
Instruções do exercício
- Converta cada parte marcada por uma seta vermelha em uma lista.
- Converta cada parte marcada por uma seta verde em uma lista.
- Converta cada parte marcada por uma seta azul em uma lista.
- Converta cada parte marcada por uma seta magenta em uma lista.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
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)