部分配列へのアクセス
NumPy 配列の要素にアクセスしてみましょう。あなたのタスクは、サイズが size の正方二次元配列 square を、渦巻き状のパターンに沿って要素を取り出したリストに変換することです。

特定のスライスに単純にアクセスするのではなく、より一般的な解法を for ループで定義してください(奇数サイズのすべての正方二次元配列で動作する必要があります)。
モジュール numpy はすでに np としてインポートされています。
イテラブルを逆順にする reversed() 関数を使用します。
この演習はコースの一部です
Pythonでコーディング面接問題を練習する
演習の手順
- 赤い矢印で示された各部分をリストに変換します。
- 緑の矢印で示された各部分をリストに変換します。
- 青い矢印で示された各部分をリストに変換します。
- マゼンタの矢印で示された各部分をリストに変換します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
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)