今までは検索処理でfor文による一致判定を行っていたが、
高速化の為に辞書型データを使うことを試してみた。
1.結論
変更に手間がかかる割に処理時間に変わりがなかったので、見送る事にした。
(1)処理時間を計測したEXCELシート
(2)処理時間
変更前(python)は10.2秒。
変更後(辞書型データで検索)は10.6秒。
3.具体的な変更方法
(1)読み込んだデータで辞書型データを作る(下図)。
(2)関数で検索する代わりに辞書で探す(1例が下図)。
4.参考資料
下記のWEBページにお世話になりました。ありがとうございます。
・Pythonで要素検索の高速化
・Pythonの辞書(dict)のキー・値の存在確認と取得方法|in文, get()他
<個人的な感想>
検索するデータ数が20ケ程度では高速化案3つとも効果が出ないようである。
数が数千になれば違うのかもしれないが、当面の支援ツールの高速化には
合わないと考える。
時間を掛けた割には3つとも見送ることにしたので、少しガッカリした。
VBAのコンパイル言語版があれば良いのだが・・・。