Kom igångKom igång gratis

Åtkomst till delmatriser

Nu ska du arbeta med element i NumPy-arrayer! Din uppgift är att konvertera en kvadratisk tvådimensionell array square av storleken size till en lista skapad genom att följa ett spiralmönster:

Traversing the matrix in spiral way

Istället för att bara hämta ut vissa delar ska du definiera en mer generell lösning med en for-slinga (lösningen ska fungera för alla kvadratiska tvådimensionella arrayer med udda storlek).

Modulen numpy är redan importerad som np.

Du behöver funktionen reversed(), som vänder på ett Iterable-objekt.

Den här övningen är en del av kursen

Öva på kodningsintervjufrågor i Python

Visa kurs

Övningsinstruktioner

  • Konvertera varje del markerad med en röd pil till en lista.
  • Konvertera varje del markerad med en grön pil till en lista.
  • Konvertera varje del markerad med en blå pil till en lista.
  • Konvertera varje del markerad med en magentafärgad pil till en lista.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

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)
Redigera och kör kod