python

python

python入門~dictionary型の使い方と目的 | 独学プログラミング

こちらの記事では過去の記事で文字列型や数値・配列に加えて、良く使われるdictionary型を紹介します。

他の型をおさらい

ここまでのpython入門記事で紹介してきた型は以下の5つがありました。

データ型 日本語名 説明 事例
str 文字列 文字列型。ダブルクォーテーションで定義 box = "Hello"
int 数値 数値型(整数) box = 100
float 浮動小数点 浮動小数点型。小数点あり box = 1.05
bool ブール True,Falseの2種類 box = True
list 配列 配列型。カンマ区切りで複数の値を入れる box = ["Hello", 100]

今回紹介する2種類の型は上記の型や変数の理解があったほうが望ましいため、不安があるようであれば過去記事を参考にしてみてください。

python入門 初心者マップ~独学で学ぶプログラミング

ここまでの内容に加えて今回はdictionary型と呼ばれる型を紹介します。

データ型 日本語名 説明 事例
dictionary 辞書 KeyとValueの組み合わせを複数設定できる box = {"Key1": "Val1", "Key2": "Val2"}
非常に便利な型なので覚えておきましょう
dictionary型は業務でも頻繁に利用される型になります

dictionary型の使い方

dictionary型の基本

早速dictionary型のコード例を見てみましょう。上記の定義表に記載されている通り、KeyとValueをセットで持つ型になります。

# person変数にdictionary情報をセットする
person = {"name": "田中"}

# 実行結果:田中
print(person["name"])

上記の例ではKeyとValueのペアに"name"と"田中"をセットしています。dictionary型は{}で囲い、KeyとValueは:(コロン)で区切るのがルールです。

取り出す場合はdictionary変数に対して配列と同じく[](角括弧)でKeyを指定することでValueを取り出すことが出来ます。

複数のKey-Valueをセットする

以下のようにカンマ区切りで記述することで複数のKey-Valueのペアを指定することが出来ます。

# person変数にdictionary情報をセットする
person = {"name": "田中", "birth": "19901020", "age": 29}

# 実行結果:田中
print(person["name"])

# 実行結果:19901020
print(person["birth"])

# 実行結果:29
print(person["age"])

まず2行目でdictionary情報を作成してperson変数に格納しています。

dictionaryはKeyとValueをセットで指定しますが、ここでの例は以下の通りセットされます。

・Keyが"name"、"birth"、"age"
・Valueがそれぞれ"田中"、"19901020"、29

上記例では3セットが定義されています。

それぞれ取り出したいValueのKeyを指定することで取り出すことが可能です。

dictionaryの値を上書きや追加したい

あるKeyのValueを上書きしたい場合、配列と同じく以下のようにKeyを指定して代入することで上書きできます。

# person変数にdictionary情報をセットする
person = {"name": "田中"}

# nameのValueを上書きする
person["name"] = "鈴木"

# 実行結果:鈴木
print(person["name"])

存在しないKeyを指定した場合は、新しく追加することが出来ます。

# person変数にdictionary情報をセットする
person = {"name": "田中"}

# checkキーを追加
person["check"] = True

# 実行結果:田中
print(person["name"])

# 実行結果:True
print(person["check"])
配列を使うよりも箱の名前が分かるから使いやすいね
今回の例のようにdictionary型を上手く使うことで見やすく利用しやすい変数にすることができます

for文でdictionary型を利用する

for文でdictionaryを利用する場合はいくつかパターンがありますが、一旦初心者向けとしては以下1パターンを覚えておけば大丈夫です。

# person変数にdictionary情報をセットする
person = {"name": "田中", "birth": "19901020", "age": 29}

# 実行結果:name birth age
for key in person:
    print(key)

# 実行結果:田中 19901020 29
for key in person:
    print(person[key])

dictionaryをfor文で指定するとkey変数には各セットのKey情報が入ってきます。

そのため、1つ目のループでは各セットのKeyの名前が繰り返し処理の中でprint表示されます。

2つ目のループはperson変数にKeyを取り出してValueを表示しています。

このようにdictionaryをfor文で処理することで、dictionary情報から繰り返し処理することが可能です。

python入門~dictionary型の使い方と目的 まとめ

今回は配列を拡張したdictionary型を紹介しました。

場面によっては配列より使いやすく、効果的に使うことでコードの読みやすさを向上したり、ミスを減らすことに繋がります。

今回紹介したpersonのように情報を整理できそうなブロックがあれば積極的に活用していきましょう。

補足~本ページQ&A

dictionary変数に存在するかどうかをチェックする

Keyが存在しない場合に、KeyErrorになってしまって、、Keyがない場合もエラーを出さない方法ってないかな?
dictionary型の特定のKeyが設定されているかチェックしたい場合はin句を利用します
# person変数にdictionary情報をセットする
person = {"name": "田中", "birth": "19901020", "age": 29}

# 存在する場合はTrueが返却される
if ("name" in person):
    print("nameのKeyは存在します")
何が入っているか分からない場合はチェック必須だね

-python
-

Copyright© ビギナープログラミング , 2020 All Rights Reserved.