タイトル画像
琴葉茜

さて、配列型の次は辞書型の操作方法について紹介するね

琴葉葵

配列型の時みたいに、他にも出来ることがたくさんあるんだね!

琴葉茜

まずは、キーと値を1つのペアとして、全ての要素を取得する方法だよ

解説画像1
琴葉葵

ほうほう
でもこれって、どういう時に使うの??

琴葉茜

よく使われる例は、forループする内でキーと値の両方を利用する時だね!

解説画像2
琴葉葵

それは確かに便利!

琴葉葵

そういえば、おねーちゃん
指定したキーが辞書に無かったらエラーが出るから、指定したいキーが辞書に含まれているか確認するプログラムを作ってるんだけど...

解説画像3
琴葉葵

これがすごく面倒なんだよ
もっと簡単に解決できる方法は無い?

琴葉茜

ちゃんとエラーに対応しようとしているのは偉いね!
そんな時は「.get()」を使って辞書の値を取り出すと良いよ!

解説画像4
琴葉葵

もし指定したキーが無かったら「None」を返してくれるんだね!これなら「dic[キー]」にしていた部分を「dic.get(キー)」に書き換えるだけで良いから簡単で良いね!!

琴葉葵

じゃあ同じ感じで、辞書に新しい要素を追加する時に、すでに辞書の中に入れようとしているキーがあった場合には追加をやめるって方法もある?

琴葉茜

もちろんあるよ!
「.setdefault()」を使えば、キーが存在しない場合だけ追加されるようになるよ

解説画像5
琴葉葵

ほうほう
ちょっと気になったんだけど、辞書型同士の合体ってどうやってできて、どんな感じになるの?キーが被る場合があるよね

琴葉茜

辞書型同士を合体するのは「.update()」を使うんだ
この時、キーに被りがある場合は追加する側の値に更新されるよ

解説画像6
琴葉葵

なるほど
ちなみに、辞書型の時は「+=」じゃダメなの?

琴葉茜

辞書型の合体で演算子を使いたい場合は「+=」じゃなくて「|=」を使うことになるよ

解説画像7
琴葉葵

「|」?なにこれ??

琴葉茜

これは、次回紹介する「集合型(set)」で使われる「合併・更新」の意味があるんだ

琴葉葵

ほう...ということは次回は新しいデータ型の紹介になるんだね

琴葉茜

だね
だから、またその時にもう少し詳しく紹介するよ!

琴葉茜

あ、それから、配列型と辞書型で同じところと言えば、別の変数に複製したい場合は「.copy()」を使う必要があるってことだね!

琴葉葵

そこは一緒なんだね、覚えておかないと!!