辞書(dict)の作成方法

Python

基本

{} にキーと値のペアを入力して作成します。

{キー1: 値1, キー2:値2, キー3:値3}
test_dict = {"a": 1, "b": 2, "c": 3}

print(test_dict)
# {'a': 1, 'b': 2, 'c': 3}

値を取得するためには、キーを指定します。

test_dict = {"a": 1, "b": 2, "c": 3}

print(test_dict["a"])
# 1

get()を使用て値を取得することも可能です。

test_dict = {"a": 1, "b": 2, "c": 3}

print(test_dict.get("d"))
# None
print(test_dict.get("d", 10))
# defaultの値が返される
# 10

get()では、存在しないキーを指定した時はNoneを返します。get()を使用することでキーにアクセスして、エラーとなることを解除することが可能です。
第二引数で、存在しないキーを指定した場合の値を設定することも可能です。

dict()

dictの基本的な使い方

dict()を使用して辞書を作成する方法になります。
引数にキーと値のペアを = でつないで作成

test_dict = dict(a=1, b=2, c=3)

print(test_dict)
# 1

キーが文字列の場合でも ” で囲む必要がありません

リストを辞書に変換する方法

要素がキーと値のペアになっているイテラブル(リストやタプルやセット)の場合、dict() にわたすだけで、変換が可能です。

test_list = [("a", 1), ("b", 2), ("c", 3)]
test_dict = dict(test_list)

print(test_dict)
# {'a': 1, 'b': 2, 'c': 3}
print(test_dict["b"])
# 2

2つのイテラブルを辞書に変換する方法

zip()を使用することで、2つのイテラブルの一方をキーに、他方を値にして辞書にすることが可能です。

test_list1 = ["a", "b", "c"]
test_list2 = [1, 2, 3]

test_dict = dict(zip(test_list1, test_list2))
print(test_dict)
# {'a': 1, 'b': 2, 'c': 3}

値の更新方法

辞書オブジェクト[キー] = 値 で要素の追加、更新が可能です。
存在しないキーの場合には、新たな要素が追加され、存在するキーをしていすると、値が更新されます。

test_dict = {"a": 1, "b": 2, "c": 3}

test_dict["a"] = 4
print(test_dict)
# {'a': 4, 'b': 2, 'c': 3}

test_dict["d"] = 5
print(test_dict)
# {'a': 4, 'b': 2, 'c': 3, 'd': 5}

辞書のマージ

update()に別の辞書オブジェクトを指定すると、その要素が追加されます。

test_dict = {"a": 1, "b": 2, "c": 3}
test_dict2 = {"x": 10, "y": 20, "z": 30}

test_dict.update(test_dict2)
print(test_dict)
# {'a': 1, 'b': 2, 'c': 3, 'x': 10, 'y': 20, 'z': 30}

既存のキーと重複する場合には、引数に指定した辞書の値で更新されます。

test_dict = {"a": 1, "b": 2, "c": 3}
test_dict2 = {"a": 4, "b": 5}

test_dict.update(test_dict2)
print(test_dict)
# {'a': 4, 'b': 5, 'c': 3}

for文で辞書の内容を取得する方法

keys() を使用することで key の値が取得可能です。

test_dict = {"a": 1, "b": 2, "c": 3}

for k in test_dict.keys():
    print(k, end="")
# a
# b
# c 

values() を使用することで value の値が取得可能です。

test_dict = {"a": 1, "b": 2, "c": 3}

for v in test_dict.values():
    print(k, end="")
# 1
# 2
# 3

items() を使用することで各要素の key と value が取得可能です。

test_dict = {"a": 1, "b": 2, "c": 3}

for k, v in test_dict.items():
    print(k, v)
# a 1
# b 2
# c 3

コメント

タイトルとURLをコピーしました