Accéder à des sous-tableaux
Accédons à des éléments dans des tableaux NumPy ! Votre tâche consiste à convertir un tableau bidimensionnel carré square de taille size en une liste en suivant un motif en spirale :

Plutôt que d’accéder simplement à certaines tranches, vous allez définir une solution plus générale à l’aide d’une boucle for (la solution doit fonctionner pour tous les tableaux carrés bidimensionnels de taille impaire).
Le module numpy est déjà importé sous le nom np.
Vous aurez besoin de la fonction reversed() qui inverse un itérable.
Cet exercice fait partie du cours
<cours>S’exercer aux questions d’entretien de code en Python</cours>Instructions de l’exercice
- Convertissez chaque partie indiquée par une flèche rouge en liste.
- Convertissez chaque partie indiquée par une flèche verte en liste.
- Convertissez chaque partie indiquée par une flèche bleue en liste.
- Convertissez chaque partie indiquée par une flèche magenta en liste.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
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)