白黒つけようぜ!くまねこ(@kumanecoblog)です。
今日もPython捗っていますか?
そのリストは、メソッドを使うことでさらに便利に使いやすいものになります。
初心者のうちは使う機会がないこともあるかもしれませんが、必ず役に立つものです。
例えば、辞書の中の要素を追加したり、削除したり、ソートや検索までもできることがたくさんあります。
今回はそんな辞書のメソッドを解説します!
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にてご連絡ください。
「こんな簡単な事聞いちゃってもいいのかな」と心配することはありません。
どんなことでもお気軽にご連絡ください!
この記事が少しでも役立ててもらえたらうれしいです。
今回も最後まで読んでいただき、本当にありがとうございました!
コメント