dictionary(辞書)の使い方【Python】
こんにちは、クルトンです!
この記事ではdictionary(辞書)の使い方を解説します。
この記事だけでもdictionaryの使い方は分かりますが、listを知っていた方が確実にこの記事は理解しやすいです。
もしlistの使い方を知らなければこの記事を読むことをお勧めします。
dictionaryとlistの違い
listでデータを管理したいとします。
例として、とある人についてのデータをリストにまとめるとします。
[170, 65, 'AB', ...] #[身長(cm), 体重(kg), 血液型, ...]
このようなリストを作った時に、データに対応するインデックスの番号を覚えておくのは大変です。
...血液型は何番目の要素だったっけ?
このようなことにならないために、dictionaryを用います。
dictionaryは簡単に言うと、「インデックス番号の代わりに、意味の分かる見出しを用いたlist」のことです。
dictionaryを用いることで、'blood_type'などの意味のある文字列で要素を指定できるようになります。
では早速、具体的な使い方を見ていきましょう!
dictionaryの使い方
{キー0:値0, キー1:値1, キー2:値2, ...}
dictionaryの見出しは「キー」と呼ばれます。dictionaryでは、キーと値がセットで一つの要素になります。
また、dictionaryは波括弧「{}」の間に要素をコンマ「,」で区切って並べることで定義できます。
その際、キーと値は、コロン「:」を使って区切ります。
要素の取り出し方
ディクショナリ名[キー]
要素に対応するキーを指定することで、要素を取り出すことができます。
インデックス番号がキーになっただけで、リストにとてもよく似ています。
コード
D = {'height':170, 'weight':65, 'blood_type':'AB'} print(D['blood_type'])
出力結果
AB
また、dictionaryの持つ要素の順番は保存されます(Python3.6以降)。
要素の書き換え
キーを使って要素を指定し、代入することで要素を書き換えることができます。
コード
D = {'height':170, 'weight':65, 'blood_type':'AB'} print(D['weight']) D['weight'] = 60 # 体重を60kgに変える print(D['weight'])
出力結果
65 60
要素の削除
del文を使うことで要素を削除することができます。
このとき、削除したい要素をキーを使って指定します。
コード
D = {'height':170, 'weight':65, 'blood_type':'AB'} del D['weight'] # 体重の要素を削除する print(D)
出力結果
{'height': 170, 'blood_type': 'AB'}
要素の追加
dictionaryでは、存在しないキーに値を代入することで要素を追加することができます。
コード
D = {'height':170, 'weight':65, 'blood_type':'AB'} D['age'] = 20 # 年齢を追加する print(D)
出力結果
{'height': 170, 'weight': 65, 'blood_type': 'AB', 'age': 20}
キーの存在確認
dictionaryに特定のキーが含まれているか調べるにはin演算子を用います。
in演算子はキーがdictionaryに含まれていれば「True」を、含まれていなければ「False」を返します。
コード
D = {'height':170, 'weight':65, 'blood_type':'AB'} print('blood_type' in D) print('age' in D)
出力結果
True False
キーを使ったループ
dictionaryはfor文を使ってキーを一つずつ取り出すことができます。
for文の使い方は以下の記事で説明しています。
コード
D = {'height':170, 'weight':65, 'blood_type':'AB'} for key in D: print(key)
出力結果
height weight blood_type
このようにキーを前から順番に取り出すことができます。
また、keys(),values(),items()などのメソッドとlist関数を合わせて用いることで、キーや値のリストを得ることができます。
コード
D = {'height':170, 'weight':65, 'blood_type':'AB'} print(list(D.keys())) # キーのリスト print(list(D.values())) # 値のリスト print(list(D.items())) # キーと値をまとめたリスト
出力結果
['height', 'weight', 'blood_type'] [170, 65, 'AB'] [('height', 170), ('weight', 65), ('blood_type', 'AB')]
また、keys(),values(),items()などのメソッドは、for文と組み合わせて用いることもあります。
このときは、リスト関数を使う必要はありません。
keysメソッドを使ったコード
D = {'height':170, 'weight':65, 'blood_type':'AB'} for key in D.keys(): print(key)
出力結果
height weight blood_type
valuesメソッドを使ったコード
D = {'height':170, 'weight':65, 'blood_type':'AB'} for value in D.values(): print(value)
出力結果
170 65 AB
itemsメソッドを使ったコード
D = {'height':170, 'weight':65, 'blood_type':'AB'} for key, value in D.items(): #keyとvalueを両方受け取る print(key, value)
出力結果
height 170 weight 65 blood_type AB
itemsメソッドは引数が二つあるので注意しましょう!
今回はdictionaryの使い方について解説しました。
dictionaryのメソッドはとても便利なので、しっかり練習して使いこなせるようになりましょう!
ではまたお会いしましょう!さようなら~