ComeçarComece de graça

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:

Traversing the matrix in spiral way

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

Ver curso

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)
Editar e executar o código