Python 辞書型についての使い方や要素の追加や変更をしてみよう

 

Pythonの辞書型はリストとは違いkeyとvalueがペアになっています。

辞書型はリストの値の取得方法とは違い、キーを指定することでペアである値を取り出すことができます。

辞書型の追加、変更、取得、削除はリストより複雑かもしれませんが、辞書型のデータを扱えるようになります。

ここでは、

Pythonの辞書型
値を取得、追加、変更などの辞書型を扱うやり方

について知れます。

辞書型とは

辞書型は要素の順序が管理されていなくキーと値のペアによって定義される型です。

Pythonのリストと同じように複数の値を持つことに対して値を一意のキーを与えることができます。

キーを与えることができるので順序がなくキーとペアの値に対して、追加、変更、削除を容易にできます。

 

Pythonは辞書型をdictまたは辞書と呼ばれることがあります。

 

辞書の使われ方として詳細なデータを持たせることに使われます。

例えば、JSON形式のデータは辞書型になっておりそこから必要な情報を取り出した場合やAPIのレスポンスデータなどに使われています。

辞書を定義してみよう

辞書の定義はキーと値のペアの使われ方が基本です。

定義するには

辞書名 = {key:value,・・・}

というように{}の中にキー(key)と値(value)を:で区切ります。

keyとvalueは文字列、整数、ブール値などの型は自由に選べます。

 

Pythonで辞書を定義してみましょう。

dict_1 = {'code':'python','fruits':'apple'}

辞書をprint関数で表示してみます。

print(dict_1)

結果は辞書の要素が表示されます。

辞書の値を取得する

辞書の値を取得するには、キーを指定することで取得できます。

キーと値はペアになっているため異なるキーを指定するとエラーになります。

 

辞書の値を取得してみましょう。

print(dict_1['code'])

[]との間に取得したいキーを指定します。

結果はpythonを返します。

キーは文字列になっていますが整数の型の場合は、そのままの数字を入れます。

他の値も同じようにすることで取得できます。

 

他の取得方法としてget関数を使います。

print(dict_1.get('code'))

get関数に取得したい値のキーを指定することで値が返されます。

 

キーが何かを確認する場合はkeys関数によりキーを取得できます。

print(dict_1.keys())

値が何かを確認する場合はvalues関数により値を取得できます。

print(dict_1.values())

 

キーと値の両方を確認する場合はitems関数を使います。

print(dict_1.items())

 

辞書の要素の追加、変更、削除

辞書の追加と変更は同じような操作により簡単にできます。

辞書を追加するには新たなキーと新たな値を指定することで追加できます。

dict_1['val'] = 10

[]には新しいキーを追加し=の後に好きな型の値を追加します。

追加した値を見ると末尾に追加されたことがわかります。

print(dict_1)
{'code': 'python', 'fruits': 'apple', 'val': 10}

 

辞書を変更するにはキーに変更したい値を指定することで変更できます。

辞書のvalの値(10)を15に変更してみましょう。

dict_1['val'] = 15

キーは同じですが値は変更できます。

 

辞書の要素を削除するにはdelやclear関数を使いましょう。

delを使いキーを指定してキーと値のペアを削除できます。

del dict_1['code']
print(dict_1)

 

clear関数を使い要素すべてを消すこともできます。

dict_1.clear()
print(dict_1)

辞書は{}となり空になったことを意味します。

まとめ

辞書型はキーと値のペアを基本的に使うようになっており、キーを指定してあげることで順序に関係なく値を取り出せます。

Pythonでは辞書型を辞書やdictと呼んだりします。

辞書の値の追加、変更はキーを指定し追加し値を変えることで変更できます。

辞書の追加、変更、削除などはインタプリタで実行することで分かりやすくなります。

しかし辞書の追加、変更、削除などはコードでほとんど書かないため定義したらそのまま使うほうが見やすく、定義した辞書を書き直したほうが早いです。

辞書の使われ方として、JSON形式のファイルの中身の値の取得やAPIのレスポンスとして使うことがあるので辞書の値の取得や定義は覚えていて損はないです。