Subarrays benaderen
Aan de slag met elementen in NumPy-arrays! Je taak is om een vierkante tweedimensionale array square met grootte size om te zetten naar een lijst volgens een spiraalpatroon:

In plaats van alleen bepaalde slices te pakken, maak je een algemenere oplossing met een for-lus (de oplossing moet werken voor alle vierkante tweedimensionale arrays met een oneven grootte).
De module numpy is al geïmporteerd als np.
Je hebt de functie reversed() nodig, die een Iterable omkeert.
Deze oefening maakt deel uit van de cursus
Oefenen met coding-interviewvragen in Python
Oefeninstructies
- Zet elk deel dat met een rode pijl is gemarkeerd om naar een lijst.
- Zet elk deel dat met een groene pijl is gemarkeerd om naar een lijst.
- Zet elk deel dat met een blauwe pijl is gemarkeerd om naar een lijst.
- Zet elk deel dat met een magenta pijl is gemarkeerd om naar een lijst.
Interactieve oefening met praktijkervaring
Probeer deze oefening door deze voorbeeldcode aan te vullen.
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)