Python初級コースプログラミング

【脱初心者】Pythonの辞書で使うメソッド一覧【チートシート付き】

スポンサーリンク

白黒つけようぜ!くまねこ(@kumanecoblog)です。
今日もPython捗っていますか?

Pyhtonには辞書という便利なものがあります。
そのリストは、メソッドを使うことでさらに便利に使いやすいものになります。
初心者のうちは使う機会がないこともあるかもしれませんが、必ず役に立つものです。

例えば、辞書の中の要素を追加したり、削除したり、ソート検索までもできることがたくさんあります。

今回はそんな辞書のメソッドを解説します!

スポンサーリンク

1. setdefault:要素の追加

辞書に新しく「キーと値」を追加することができます。

dict = { 1:'a', 2:'b', 3:'c'}
dict.setdefault( 4,'d')
print(dict)
# 出力結果
# {1: 'a', 2: 'b', 3: 'c', 4: 'd'}
くまねこ君
くまねこ君

メソッドを使わずに
dict[4] = ‘d’
で追加する方法と結果は同じだよ!

スポンサーリンク

2. update:辞書の結合

別の辞書を結合することができます。
同じキーが存在する場合は、引数に入れた辞書の値に更新されます。
引数に入れた辞書が、存在しないキーを持っている場合、その要素が追加されます。

dict_a = { 1:'a', 2:'b', 3:'c'}
dict_b = { 1:'e', 4:'d'}
dict.update(dict_b)
print(dict)
# 出力結果
# {1: 'e', 2: 'b', 3: 'c', 4: 'd'}
スポンサーリンク

3. pop:要素の削除

指定したキーの要素を削除できます。

dict = { 1:'a', 2:'b', 3:'c'}
dict.pop(2)
print(dict)
# 出力結果
# {1: 'a', 3: 'c'}

4. clear:辞書を初期化

指定した辞書の要素を問答無用で全て削除して、初期化できます。

dict = { 1:'a', 2:'b', 3:'c'}
dict.clear()
print(dict)
# 出力結果
# {}

5. sorted:並び替え(ソート)

キーで並び替えるパターンと値で並び替えるパターンがあります。
ここで大事ことが一つあります!

並び替え後は「リストの中に格納さる」ということです。

くまねこ君
くまねこ君

実際に見て確認してみよう!

5.1 キーで並び替え

変数に並び替え後の結果を代入するように宣言します。
昇順であれば、items( )の引数は空欄でOKです。

dict = { 23:'a', 1:'b', 44:'e', 500:'c'}
dict_new = sorted(dict.items())
print(dict_new)
# 出力結果
# [(1, 'b'), (23, 'a'), (44, 'e'), (500, 'c')]

降順にしたい場合は、sorted( )の引数に「reverse = True」を追加します。

dict = { 23:'a', 1:'b', 44:'e', 500:'c'}
dict_new = sorted(dict.items(), reverse = True)
print(dict_new)
# 出力結果
# [(500, 'c'), (44, 'e'), (23, 'a'), (1, 'b')]
くまねこ君
くまねこ君

並び替えした後はリストに格納されたよ!

使う時はこのことを頭の片隅に置いておいてね!

5.2 値で並び替え

値で並び替える時はlambda式を使うと便利です。
lambda式については別で詳しく解説します!
今はこんな風に書くんだと思ってもらえればOKです。
(コピペしちゃってOKです!)

dict = { 23:'a', 1:'b', 44:'e', 500:'c'}
dict_new = sorted(dict.items(), key=lambda dict:dict[1])
print(dict_new)
# 出力結果
# [(23, 'a'), (1, 'b'), (500, 'c'), (44, 'e')]

キーで並び替える時と同様に降順にしたい場合は、引数に「reverse = True」を追加します。

dict = { 23:'a', 1:'b', 44:'e', 500:'c'}
dict_new = sorted(dict.items(), key=lambda dict:dict[1], reverse = True)
print(dict_new)
# 出力結果
# [(44, 'e'), (500, 'c'), (1, 'b'), (23, 'a')]

6. 検索

検索して、その要素が「ある」か「ない」かを検索することができます。

6.1. keys:キーで検索

指定したキーを検索できます。
あれば「True」なければ「False」が表示されます。

dict = { 1:'a', 2:'b', 3:'c'}
print( 2 in dict.keys() )
# 出力結果
# True

TrueとFalseで分けられるので、if文とかと相性がいい雰囲気だしてますね。

6.2 values:値で検索

値で検索する時もキーで検索した時と同様です。

dict = { 1:'a', 2:'b', 3:'c'}
print( 'g' in dict.values() )
# 出力結果
# False

7. get:値の取得

指定したキーの値を取得することができます。
もし存在しないキーを指定した場合は「None」が表示されます。

dict = { 1:'a', 2:'b', 3:'c'}
print( dict.get(2) )
print( dict.get(5) )
# 出力結果
# b
# None

ちなみに、存在しないキーを指定したときに表示されるメッセージは「None」から変更できます。
getメソッドの第2引数に好きなメッセージを記述するだけです。

dict = { 1:'a', 2:'b', 3:'c'}
print( dict.get(5, '指定されたキーの要素は見つかりませんでした。' ))
# 出力結果
# 指定されたキーの要素は見つかりませんでした。

まとめ

以上が辞書のメソッド一覧でした。
これらのメソッドが使えることで、表現の幅も広がります。
今は使わないものもあるかもしれませんが、
「こう言う場面で使えるんじゃないかな?」となんとなくイメージできたものもあると思います。
そのときに思い出して使ってみてください!

このチートシートを保存してもOKです!ぜひ役立ててください。
便利なメソッドを覚えてよりよいプログラミング生活を!

なにか分からないことがあればTwitterのDMにてご連絡ください。
「こんな簡単な事聞いちゃってもいいのかな」と心配することはありません。
どんなことでもお気軽にご連絡ください!

この記事が少しでも役立ててもらえたらうれしいです。
今回も最後まで読んでいただき、本当にありがとうございました!

コメント

タイトルとURLをコピーしました