今も会社で空き時間を見つけては、単純作業自動化ツールを少しずつ書いています。
そんな中でのたぶんプログラミングの基本的な気づきを1つ。
多次元リストやディクショナリに値を収納するときの話。
最近、徐々に複雑なデータを扱うようになってから、出力しやすいことを考えるだけじゃなくて、処理もしやすいように収納する必要があることがわかった。
具体的には、データの持つ「意味」で分ける。
実験サンプル名とそのサンプルにおける実験データと各データのラベルを取り込んで出力したいとき、それらをリストに同じレベルで混ぜて並べてはいけない。
階層が深くなってもいいから、最上位のリストには、[[name],[label],[data]]、みたいに、それぞれの子リストが意味で明確に分けられるように構造を作る必要がある。
出力をするだけなら、上から順に出力すればいいので、異なる意味のデータが混ざっていてもリストの階層が浅いほうがラクなんだけど、
これだと抽出や並び替えの処理に困る。
データの行と列を入れ替えたかったり、データを4つに分割したかったりすると、そのたびに面倒な手順が入る。
なので、しばらくはきちんと階層を作ってデータを収納してみようと思います。