python 辞書型の追加・削除・並び替え
今回は、dictionary(辞書型)の並び替えについて学んだので、学習の記録として記事にしたいと思います。
皆様の学習の助けになれば幸いです。m(__)m
そもそもdictionaryって
dictionaryとは、keyとvalueをまとめて、1セットとして格納する箱のようなもの
listは、1データで1セットなので(二次元配列は除く)そこが、listとの違いです。
具体的にどうゆう時使うかというと、例えば「りんご(100円)・みかん(80円)・梨(120円)をそれぞれ売りたい」と考えた時、listしか知らないと
fruits_table = ["Apple","Orange","Peach"]
value_table = [100,80,120]
のように二種類のlistを作る必要があります。(もしくは二次元配列にするか)
けど、これだと並べ替えや商品に変更があった時めんどくさいですよね?
そういうときに使うのが、dictionary型! 記述方法は簡単
fruits_dict = {'Apple': 100, 'Orange': 80, 'Peach': 120}
#呼び出し
print(fruits_dict['Apple'])
#100
ようにするだけ!これなら、どれがいくらかわかりやすいし、何より呼び出しが簡単。
ここまでは前提知識これから本編!
追加方法
基本的には dict[key名]=value で追加できます
fruits_dict = {'Apple': 100, 'Orange': 80, 'Peach': 120}
fruits_dict['Grape'] = 180
print(fruits_dict)
#{'Apple': 100, 'Orange': 80, 'Peach': 120, 'Grape':180}
上記のような形で dict[key名]=value のようにすると追加できます。
削除方法
基本的には、pop()を使って削除します。
fruits_dict = {'Apple': 100, 'Orange': 80, 'Peach': 120, 'Grape':180}
fruits_dict.pop('Grape')
print(fruits_dict)
#{'Apple': 100, 'Orange': 80, 'Peach': 120}
pop()での削除方法は、listと同じなので、ぜひlistの使い方の記事も御覧ください!!
並び替え方法
#keyの並べ替え
fruits_dict = sorted(fruits_dict.items(), key=lambda x: x[0])
#valueの並べ替え
fruits_dict = sorted(fruits_dict.items(), key=lambda x: x[1])
dictionaly型は、並べ替えの方法が少し面倒です。listは.sort()で並び替えできますが、dictionaly型は、keyとvalueどっちで並べ替えするか選ばないといけないので、少し分かりづらいコードになっています。
ちなみに、x[0]はkey、x[1]はvalueを表しています。
余談
pythonには、listやdictの他にtapleなどもある。tapleとは超簡単に言うと
変更のできないlist です
体感使用頻度はlist→dict→tapleの順番 (あくまで一個人の感覚です)
だからと言って、tapleが大事じゃないわけじゃないよ!!
一見、不便なように思えるtapleですが、実はメリットもある。
tapleは、tapleはwebアプリなどの初期設定(今後変えられないもの)によく使われる(らしい)。要するに適材適所
なので、余力がある人はtapleも頭の片隅においておくと良いかも!!