Python

Pythonで辞書を扱う方法について

By 2021年3月15日No Comments

この記事では、Pythonの連想配列と呼ばれる辞書についての解説をしています。

辞書はデータ管理を番号の代わりに別のデータなどを使用して管理するデータ構造になります。このような辞書の作成方法や辞書内の要素を取得したり新たに辞書の要素を追加する方法にについて説明していきます。

Pythonの連想配列である辞書型について

Pythonの連想配列である辞書は複数のデータをキーと値で1つのセットにして格納していく事ができます。構文は下記になります。

辞書名 = {キー名: 値}

下記ではキーと値を一つずつセットに辞書内に格納されています。

dictionary = {"A": 1, "B": 2, "C":3}
print(dictionary)

結果:

{'A': 1, 'B': 2, 'C': 3}

辞書内のデータを取得する事ができます。

dictionary = {"A": 1, "B": 2, "C":3}
print(dictionary["A"])

結果:

1

辞書のキーを指定することで値を取得する事ができました。このように辞書の値を取り出す事ができます。ただし辞書は同じキーを2つ以上登録できないので同じキーを指定した場合は上書きされます。

dictionary = {"A": 1, "B": 2, "C":3, "A": 4}
print(dictionary)

結果:

{'A': 4, 'B': 2, 'C': 3}

“A”の値が4に上書きされて出力されているのが分かります。

Pythonの辞書の要素を追加する方法

すでにある既存の辞書に新しい要素を追加する事ができます。構文は下記になります。

辞書名[キー] = 値

dictionary = {"A": 1, "B": 2, "C":3}
dictionary["D"] = 4
print(dictionary)

結果

{'A': 1, 'B': 2, 'C': 3, 'D': 4}

このように辞書に新しい要素を追加する事ができました。辞書内に新たに別の辞書を要素として追加することもできます。

dictionary1 = {"A": 1, "B": 2, "C":3}
dictionary2 = {"a":1, "b":2, "c":3}
dictionary1["D"] = dictionary2
print(dictionary1)

結果:

{'A': 1, 'B': 2, 'C': 3, 'D': {'a': 1, 'b': 2, 'c': 3}}

辞書内に別の辞書がキーが指定した”D”の値の要素として入っているのが分かります。

Pythonの辞書をdict( )関数を使って作成する方法

dict( )関数を使用して辞書データを作成していきます。Pythonのdict( )関数は辞書型の配列をつくる事ができます。構文は下記になります。

dict(キー=値)

dictionary = dict(A=1, B=2, C=3)
print(dictionary)

結果:

{'A': 1, 'B': 2, 'C': 3}

dict( )関数に引数を指定すると辞書型の配列を作成する事ができました。リスト内にある2つの組み合わせを辞書へ変換する事もできます。

list_d = [('A', 1), ('B', 2), ('C', 3)]
print(dict(list_d))

結果:

{'A': 1, 'B': 2, 'C': 3}
list_d = ['A1', 'B2', 'C3']
print(dict(list_d))

結果:

{'A': '1', 'B': '2', 'C': '3'}

このようにリストの1つずつの要素をそれぞれ辞書型のキーと値に分けられています。

Pythonのget( )関数を使って辞書の要素を取得する方法

Pythonのget( )関数はキーを指定するとその値を取り出すことができます。指定したキーが存在しなかった場合はNoneが出力されるのでエラーが出ることがありません。構文は下記になります

辞書.get(キー)

dictionary = {"A": 1, "B": 2, "C":3}
print(dictionary.get("A"))

結果:

1

このようにget( )関数で指定した値を出力する事ができました。存在しないキーを指定する場合はNoneが出力されます。

dictionary = {"A": 1, "B": 2, "C":3}
print(dictionary.get("D"))

結果:

None

get( )関数の第2引数にNoneの代わりに文字列を指定する事もできます。

dictionary = {"A": 1, "B": 2, "C":3}
print(dictionary.get("D", "見つかりませんでした。"))

結果:

見つかりませんでした。

get( )関数で指定したキーが見つからない場合にNoneではなく第2引数で指定した文字列が出力されているのが分かります。

Pythonのitems( )関数を使って辞書に含まれるキーと値の組み合わせを取得する方法

辞書のキーと値の組み合わせの一覧を取得するにはitems( )関数を使います。構文は下記になります。

辞書.items( )

dictionary = {'A': 1, 'B': 2, 'C': 3}
print(dictionary.items())

結果:

dict_items([('A', 1), ('B', 2), ('C', 3)])

このようにitems( )関数を使うとキーと値の組み合わせをすべて取得されているのが分かります。

複数の辞書をupdate( )関数を使って結合する方法

update()関数を使って複数の辞書を結合する事ができます。構文は下記になります。

辞書1.update(辞書2)

dictionary1 = {'A': 1, 'B': 2, 'C': 3}
dictionary2 = {'a': 1, 'b': 2, 'c': 3}
dictionary1.update(dictionary2)
print(dictionary1)

結果:

{'A': 1, 'B': 2, 'C': 3, 'a': 1, 'b': 2, 'c': 3}

このようにupdate()関数を使うと1つの辞書に結合する事ができます。

まとめ

この記事ではPythonの連想配列と呼ばれる辞書内の要素を取得する方法や辞書に新たな要素を追加する方法などについて解説しました。以上、Pythonで辞書を扱う方法についてでした。

Udemyの動画学習でもPythonを勉強しよう!

「平日の夜の勉強会には時間が間に合わなくて参加できない」「通勤時間のわずかな隙間時間を勉強時間にあてたい」「本ではよく分からないところを動画で理解を深めたい」そんなあなたはUdemyの動画学習がお勧めです!

UdemyのPythonおすすめ33講座レビューリスト

HOSL

Author HOSL

More posts by HOSL