辞書型はPythonのシーケンス型の一つです。
初めは、辞書型ってリストのインデックスが文字にできるだけでしょ?
と思うかもしれませんが、実はかなり奥が深いです。
今回の記事では、まず辞書型の基本的な操作を解説しています。
辞書型を使いこなして、Pythonマスターを目指しましょう!
動画で解説
【解説動画】辞書型のイメージ
5min. Python解説動画【入門編】|第13回:辞書型のイメージ
【解説動画】辞書型の基本操作
5min. Python解説動画【入門編】|第14回:辞書型の基本操作
辞書型のイメージ
まず、普段皆さんが目にする普通の国語辞書を想像してみてください。
- りす:茶色くて小さい動物
- りんご:赤くておいしい果物
のように、普通の辞書は「牽引:内容の説明」で構成されています。
Pythonの辞書型も同じように、「key:value
」の組み合わせで構成されています。
key
:インデックス(文字列や数字)value
:key
に対応した値
となっています。
国語辞書の中に、たくさんの単語があるように、pythonでも1つの辞書型の中に複数のkey
とvalue
の組み合わせを格納できます。
次の例では、3つのkey
とvalue
の組み合わせを持った辞書型を作成しています。
yutaka = { "age":30, "weight":60.5, "nationality": "Japan" }
# {key1: value1, key2:value2, key3: value3}
辞書型の生成
辞書型
を生成するには、
{}
で囲うkey: value
の組み合わせを入力,
で区切って次の組み合わせを入力
というのが基本となります。
yutaka = { "age":30, "weight":60.5}
print(yutaka)
# {'age': 30, 'weight': 60.5}
"age"
と"weight"
をkey
としてもつyutaka
という辞書型の変数が生成されました。
辞書型の要素へのアクセス
各要素にアクセスするには、
変数名[key]
と入力します。
そのkey
に対応するvalue
の読み込み、書き換えができます。
要素の読み込み
yutaka = { "age":30, "weight":60.5}
print(yutaka["age"])
# 30
存在しないkey
にアクセスしようとするとKeyError
になります。
yutaka = { "age":30, "weight":60.5}
print(yutaka["height"])
# KeyError: 'height'
各要素にアクセスする際は、[key]
です。
{key}
ではないので注意しましょう!
yutaka{"age"} = 31
SyntaxError: invalid syntax
Syntax Errorになります。私だけでしょうか?よくやります。
要素の書き換え
要素を書き換えるには、
変数名[key]で
要素にアクセス- 新たな値を
=
で代入
します。
yutaka["age"] = 31
print(yutaka)
# {'age': 31, 'weight': 60.5}
age
に対応するvalue
が書き変わりました。
要素の追加と削除
要素の追加と削除の方法は非常に多くの方法があります。
今回は最も基本的な方法を紹介していきます。
要素の追加
要素を追加する最も基本的な方法は、
変数名[new_key] = new_value
と入力する方法です。
yutaka = { "age":30, "weight":60.5}
yutaka["height"] = 170
print(yutaka)
{'age': 30, 'weight': 60.5, 'height': 170}
手順としては、既にあるkey
の値の書き換えと同じですね。
変数[key] = value
としたとき:
key
が既にある⇒key
に対応するvalue
の書き換えkey
がまだない⇒key:value
の組み合わせを追加
となります。
yutaka = { "age":30, "weight":60.5}
yutaka["age"] = 31 #要素の書き換え
yutaka["height"] = 170 #要素の追加
print(yutaka)
# {'age': 31, 'weight': 60.5, 'height': 170}
要素の削除
今回はdel文
での削除を紹介します。
del 変数名[key]
とすることで、指定したkey
とvalue
の組み合わせを削除できます。
yutaka = { "age":30, "weight":60.5}
del yutaka["weight"]
print(yutaka)
# {'age': 30}
del文
の場合でも、存在しないkey
にアクセスしようとするとKeyError
になります。
要素の存在有無の確認
辞書型では存在しないkey
にアクセスしようとするとKeyError
になります。
そこで、key
が辞書内に存在するか確認する方法を覚えておきましょう。
key in 変数名
とすることで、key
が変数内に存在するか確認できます。
yutaka = { "age":30, "weight":60.5}
print( "age" in yutaka )
# True
print( "email" in yutaka )
# False
key
が辞書内に存在するかどうかを、bool型
で返してくれます。
if文
の条件式としても使用できます。
おわりに
今回は辞書型の基本について紹介しました!
他にもリストやタプルの基本について、こちらの記事で紹介しています!
もちろん動画付き!
また、5min. python動画解説では、pythonの基本をショートクリップで解説しています!
流し見するだけでpythonをマスターできる動画シリーズを目指しています。