menu
ホーム > Python > Python 辞書(dict) 連想配列 -入門編-

Python 辞書(dict) 連想配列 -入門編-

Pythonリファレンス

Python3

Python にも他の言語と同様に複数の要素を同時に扱う機能があります。リスト(list)、タプル(tuple)、辞書(dict)、集合(set)の4種類です。一般的には配列などとも言います。タプル(tuple) や リスト(list) が任意の整数値をインデックスとした要素を順番に管理するシーケンス型であるのに対して、辞書(dict) の場合、一意のkey(キー) と 値(value)を1つのセットとして各要素を構成します。集合(set)の場合、一意のkey(キー)で各要素を構成します。


Python の辞書(dict)

辞書(dict) は、一意の key(キー) と value(値) をペアにして各要素を構成しています。連想配列に近いものです。key(キー) は文字列の場合が多いですが、Python のイミュータブル型であれば扱えます。整数、浮動小数点数、ブール値、float、タプルなどです。辞書は、リスト や タプル のような順序の管理がありません。順番による管理が必要であれば、リスト や タプル を利用するのが良いでしょう。


辞書(dict)の作成と取り出し


「{ } (波括弧)」による作成と取り出し

「{ } (波括弧)」を使用して 辞書 を作成できます。各要素を key:value のペアとして、「, (カンマ)」で区切って並べます。

辞書(dict)の作成

要素数が0個の辞書を作成してみます。

実行結果
{}

空の状態の 辞書 です。

dictData の型を確認すると、

実行結果
<class 'dict'>

dict と表示されます。

要素数が0個以上の 辞書 を作成して取得

key も value も文字列にして複数要素を格納した 辞書 を作成します。格納したい各要素を「,(カンマ)」で区切ります。

実行結果
{'breakfast': 'I did not eat breakfast.', 'lunch': 'I ate a hamburger at a fast food store.', 'dinner': 'I ate a steak at the restaurant.'}
I ate a hamburger at a fast food store.

for文で取得表示させます。

実行結果
breakfast
I did not eat breakfast.
lunch
I ate a hamburger at a fast food store.
dinner
I ate a steak at the restaurant.

key を文字列以外で 辞書 を作成

辞書 の key を文字列以外の型で作成してみます。for文で取得表示させ、key の型も確認してみます。

実行結果
100
<class 'int'>
int-value
——
3.14
<class 'float'>
float-value
——
True
<class 'bool'>
bool-value
——
False
<class 'bool'>
bool-value
——
('tuple-name',)
<class 'tuple'>
tuple-value
——

key は基本的に文字列で指定することが多いですが、文字列型以外も利用可能です。


key と value の取得


key と value の取得

実行結果
[('name', 'Bob'), ('mail', 'bob@mail.com'), ('address', '1-1-1 Nihonbashi Chuo-ku, Tokyo')]
name
name:Bob
mail:bob@mail.com
address:1-1-1 Nihonbashi Chuo-ku, Tokyo


key の取得

keys() によって 辞書 の値を取得できます。取得した キー名 を list() によって リストに格納します。

実行結果
dict_keys(['name', 'mail', 'address'])
name
mail
address


value の取得

values() によって 辞書 の値を取得できます。

実行結果
dict_values(['Bob', 'bob@mail.com', '1-1-1 Nihonbashi Chuo-ku, Tokyo'])
Bob
bob@mail.com
1-1-1 Nihonbashi Chuo-ku, Tokyo


key による取得

キー名 を指定して値を取得できます。

実行結果
Bob
bob@mail.com
1-1-1 Nihonbashi Chuo-ku, Tokyo


要素の追加

キー名 を指定して要素を追加できます。既にその キー名 がある場合は要素の値が更新されます。

実行結果
{'name': 'Bob', 'mail': 'bob@mail.com', 'address': '1-1-1 Nihonbashi Chuo-ku, Tokyo', 'tel': '000-1111-2222'}


要素の削除

key名 を指定して delキーワード により要素を削除できます。

実行結果
{'name': 'Bob', 'mail': 'bob@mail.com', 'address': '1-1-1 Nihonbashi Chuo-ku, Tokyo'}
{'mail': 'bob@mail.com', 'address': '1-1-1 Nihonbashi Chuo-ku, Tokyo'}


要素の変更

key名 を指定して要素の値を変更できます。

実行結果
Bob
Tom


辞書の結合

辞書 と 辞書 を統合する場合、 update()関数 を使用します。ある辞書のキーと値を別の辞書にコピーすることが出来ます。

実行結果
{'name': 'Bob', 'mail': 'bob@mail.com', 'address': '1-1-1 Nihonbashi Chuo-ku, Tokyo', 'tel': '000-1111-2222', 'gender': 'male'}


clear() による要素の一括削除

clear() を使用すると 辞書 の キー(key) と 値(value) をすべて削除することが出来ます。

実行結果
{}

辞書 に {} を代入しても空にすることが出来ます。

{}


in による要素の確認

辞書 が特定の key名 を保持しているかどうか調べるには in を使用します。key名 が存在する場合は 論理値 の True を返し、存在しない場合は False を返します。

実行結果
True
False


タグ(=記事関連ワード)

タグ: ,

日付

投稿日:2017年9月19日
最終更新日:2017年09月27日

関連記事

このカテゴリの他のページ

この記事へのコメント

トラックバックurl

http://wepicks.net/pythonref-dict/trackback/

page top