Bus errorとSegmentation faultに困ったら見るブログ

物理の研究者による日々の研究生活のメモ書きです ( python/emacs/html/Japascript/シェルスクリプト/TeX/Mac/C言語/Linux/git/tmux/R/ポケモンGO)

【python3】辞書型が割と便利そうなので使ってみる

前記事で書いたツールの中で非常に多岐に渡るオプションを取り回す必要があった
具体的にはプロットタイプ1~9に対して、プロットの範囲[xmin, xmax][ymin, ymax]
全部で36個ある・・・
もしプロットタイプが増えたらさらに増える

これを全部関数の引数にして渡すのはやばすぎる!!!

と数ヶ月前の自分も思ったらしく、どう実装したかというと
xmin, xmax, ymin, ymaxを全部のプロットタイプで同じものを採用するという・・・

プロットの範囲を辞書型のリストにしておけば、関数の引数に渡すのは1つで済むから楽じゃね?
と思い至ったのでそれを実装してみた
この記事は辞書型のメモ

(一応約2年前にpythonの本を1から全部読んで、そのときのメモに辞書型のことは書いてあった
読んでみたら、こいつ全然辞書型わかってねーなー・・・と笑ってしまった)






■ 参考 : とっても便利なPythonの辞書型について覚え書き

# 空の辞書を作成、これに追加していく
dic_range = {}
dic_range["xmin_plottype1"] = 0
dic_range["xmax_plottype1"] = 5
dic_range["ymin_plottype1"] = 10
dic_range["ymax_plottype1"] = 40
みたいな感じ
これをplottypeの分だけ全部回して、さらに例外処理もすればOK


辞書の要素を取り出すときは辞書にキーを代入すればOK

xmin = dic_range["xmin_plottype1"]
本当は辞書のキーに取り出したい要素のものがあるか調べたほうが安全だと思う
if "xmin_plottype1" in dic_range.keys():
 xmin = dic_range["xmin_plottype1"]
else:
# なんかデフォルトの代入するとか
 xmin = ...
ただ今回は事前に例外処理はしてるので、キーがxmin_plottype1の要素には何かしらの値が入ってるのでしなくても大丈夫


ランキング参加中です

↓クリックしていただけると嬉しいです〜