ループを利用して多次元リストを作って、それを利用して地図を作ろうって話ですね。一つ一つ手作業してたら何のためのコンピュータか分からないので、それをループを使って自動化してゆくわけだけど・・
↑ここまでは分かるんです、ここまでは! はいはい、行番号を取得するのにEnumerateを使うんですよね、ハイハイと。
ところが、↑これがもう全然分からん! 何が分からないかと言うと、i変数とEnumerateでY軸の数値を取得するのは分かる。けど、X軸の数値がなんでj変数とEnumerateで分かるんだよ!! と。
ここで悩んだな〜30分くらい?あまりの自分の頭の悪さにホトホト嫌気が差してしまった。フッ・・と
「ま、とりあえずココは丸呑みにして次行っちゃう?」
という気持ちが湧き上がる・・・いや、待てーい!!これこそ文系脳、この考え方のせいで数学が全然分からなくなったんだろうが!!理系の勉強をするのに、分からない基礎部分を絶対に残してはならぬ!
そこで前にさかのぼって動画を見返す。多次元リストのところで何か理解してないところがあるからなのは明白なのでその辺りから。
で、判明。そうか・・・前回の多次元リストでの多階層for文とEnumerateを使った取り出し、あれを、次元分だけforを使ったら取り出せるのだな!とかテキトーな理解をしていたのがそもそもの間違いだった。Enumerateで取り出せるのは「インデックス」なんだけど、この「インデックス」の定義を明確に理解して記憶してなかった。インデックスって「何番目か」を表す数値なのに、漠然と「要素の数」だと思いこんでいたんですな。要素の数はわざわざ取り出さなくても自動で取り出されて、繰り返されるので取得する必要がないんだった。
という訳でちゃんと理解した! なるほど〜ちゃんと腑に落ちるまでやんないと駄目ですねぇ。あと、用語の定義、すごく大事だ! 気づくのが35年遅かったか・・・
というわけで、悩んだおかげで演習は一発オッケイでした。読み飛ばしてしまう癖は本当に致命傷だな!