辞書型オブジェクトを学ぶ
とりぞー
個人的には辞書型オブジェクトは少し苦手なんですよね…
なので、今回もやはりチュータさんに聞きまくりながら理解を進めました(笑)
defaultdictクラスによる初期化
pythonにおいて、辞書型オブジェクトに新たな要素を追加する際には、都度初期化というのが必要。
以下のように通常関数を用いた場合、if~else文で記載しなければならず、手間がかかる。
一方で、collections モジュールの defaultdictクラスを利用することで初期化の手間が少々省けます。
d = defaultdict(valueの型)
valueの型は、整数であればint、list型であればlistが入ります。
とりぞー
elseの部分が不要になります。
ということで、違いを少し見ていきましょう。
辞書型オブジェクトをソート
さらに、sorted()を利用することもでき、昇順・降順に並び替えることが出来ます。構造は以下。
sorted(辞書名.items(), key = lambda式で配列を指定, reverse = True(降順の場合))
以下のような形で運用可能です。
list型辞書の作成と要素追加
これまでは(key, value)の辞書オブジェクトを取り扱ってきたが、list型の辞書作成や要素追加が可能です。
defaultdict(list)
list型だと要素追加が楽勝で、辞書名[key].append(追加したい要素)でvalueに追加可能。
今回も、通常関数を使う場合とdefaultdictを使う場合の2パターンでプログラミングコードを書いてみる。
counterクラスで同じものを数え上げる
他にもcollections モジュールで使えるものが有り、counter()はリスト内の同じ要素を数え上げることが出来ます。
d = counter (数え上げたいデータ)
また出現頻度が高い文字や表記を抽出する機能として、most_common()関数などもあります。
辞書名.most_common(取得する要素数)
ということで、コードの例をいかに記載します。