CommencezCommencez gratuitement

Accéder aux sous-tableaux

Accédons aux éléments dans des tableaux NumPy! Votre tâche est de convertir un tableau bidimensionnel carré square de taille size en une liste créée en suivant un motif en spirale :

Traversing the matrix in spiral way

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 bidimensionnels carrés de taille impaire).

Le module numpy est déjà importé sous le nom np.

Vous aurez besoin de la fonction reversed(), qui renverse un itérable.

Cette activité fait partie du cours

S'entraîner aux questions d'entrevue de programmation en Python

Voir le cours

Instructions de l’exercice

  • Convertissez chaque partie indiquée par une flèche rouge en une liste.
  • Convertissez chaque partie indiquée par une flèche verte en une liste.
  • Convertissez chaque partie indiquée par une flèche bleue en une liste.
  • Convertissez chaque partie indiquée par une flèche magenta en une 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)
Modifier et exécuter le code