ヒント_3_7

練習問題_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番のフローを説明します。

  1. 最初に作成するlistの初期値[]を設定します。
  2. 外側のループを for i in range(len(ls[0])) で作成します。
  3. 次に内側のループを for row in ls で作成します。
  4. 作成するlistに row[i] を追加します。

2番は前問の様に、上記内側のループの前で col = [] と初期設定し、内側のループの処理文として colに row[i]を追加します。内側のfor文と同じ深さで 作成するlistに colを追加、最後に全体を関数化する流れとなります。

解答例はこちら

タイトルとURLをコピーしました