以前辞書データについて紹介しました。
辞書データ[キー]
を使うとデータの取得や更新、削除ができました。
辞書で用意されているメソッドを使うとさらに操作の幅が広がります。
今回は辞書メソッドの使い方について紹介します。
テストデータを用意する
ここにトレーニングデータがあります。
キーには曜日・バリューにはトレーニングデータが入った辞書が4つありますね。
メソッドを使っていろいろ編集していきましょう。
getメソッド キーを指定してバリューを得る
[]
を使うとバリューを取得できましたがgetメソッド
でもバリューを取得できます。
辞書データ.get(キー)
[]
では値がない場合エラーが発生しました。
一方でgetメソッド
を使うとNone
が返ってきます。None
であればプログラムが途中終了することがないので、エラーを回避したいときはgetメソッドを使うと良いでしょう。
またgetメソッド
は第2引数を取れます。
第2引数に値を置いたときは第1引数のキーが辞書になければ第2引数の値を返します。
月曜日のキーはあるためバリューのプッシュアップが返ってきましたね。
一方で金曜日キーはないため第2引数の10が返りました。
setdefaultメソッド キーがないときだけ登録する
辞書データ[キー] = '〇〇'
のときは常にデータを追加・更新していましたがsetdefaultメソッド
を使うとキーがないときだけ登録ができます。
辞書データ.setdefault(キー, バリュー)
setdefaultメソッド
だけキーとバリューの間が,(カンマ)
であることに注意しましょう。
popメソッド 指定したキーの辞書を削除する
del
でも削除できましたが同様にpopメソッド
を使っても辞書を削除できます。
辞書データ.pop(キー)
clearメソッド すべてのキーとバリューを削除する
del
やpopメソッド
は1つずつしか削除できません。
すべてを削除したいときはclearメソッド
を使いましょう。
辞書データ.clear()
すべて削除すると空の辞書が返ってきました。
keysメソッド すべてのキーを取得する
[]
ではキーは取得できませんでしたがkeysメソッド
を使うとすべてのキーを取得できます。
辞書データ.keys()
戻り値はリストとして扱えます。
valuesメソッド すべてのバリューを取得する
すべての値が取得できたのですべてのバリューも取得できます。
すべてのバリューを取得するときはvaluesメソッド
を使いましょう。
辞書データ.values()
keysメソッドと同じく戻り値はリストとして扱えます。
itemsメソッド すべてのキーとバリューを取得する
すべてのキーとバリューを取得したいときはitemsメソッド
を使いましょう。
keysメソッド
, valuesメソッド
と同じように戻り値はリストとして扱えます。
戻り値を見ると1つの要素にキーとバリューが詰まっていますね。
1つ目の要素を取り出すと辞書と違った形で格納されていることが分かりますね。
copyメソッド 辞書を複製する
同じ辞書をもう1つ作成したいときはcopyメソッド
を使いましょう。
辞書データ.copy()
まとめ
今回は辞書で使えるメソッドについて紹介しました。[]
だけを使っているときよりも柔軟性がありできることが増えましたね。
似たような使い方もあったので混乱するかもしれません。
その都度使い方を調べて自分の知識としましょう。