練習問題_3_7(forの2重化の応用)
スキャン方向は縦に 0 -> 10 -> 20 といくことになりますので、内側のループには for row in ls を設定します。最初に読み込むデータは row[0] となりますのでこのindexを外側のループで生成する必要があります。子list(横方向)の長さが同じなので、ここでは最初の子listの長さから for i in range(len(ls[0])) を外側に置いてindex i を作成しました。
はじめに1番のフローを説明します。
- 最初に作成するlistの初期値[]を設定します。
- 外側のループを for i in range(len(ls[0])) で作成します。
- 次に内側のループを for row in ls で作成します。
- 作成するlistに row[i] を追加します。
2番は前問の様に、上記内側のループの前で col = [] と初期設定し、内側のループの処理文として colに row[i]を追加します。内側のfor文と同じ深さで 作成するlistに colを追加、最後に全体を関数化する流れとなります。