辞書型について、まとめていきます!
辞書の宣言
user = {
'name': 'taro',
'age': 2
}
複数の辞書の結合
**を使用した展開
base = {
'id': 1
}
user = {
'name': 'taro',
'age': 2
}
taro = {**base, **user}
update
user = {
'id': 1
}
profile = {
'name': 'taro',
'age': 2
}
user.update(profile)
update引数に複数の辞書を指定
** で展開して渡せばOK
user = {
'id': 1
}
profile = {
'name': 'taro',
'age': 2
}
favorite = {
'favorite': 'music'
}
user.update(**profile, **favorite)
引数に指定する辞書のキーが重複しているとエラーになるので注意
|演算子
Python 3.9 以降、パイプを使用して辞書を結合することができる。
user = {
'id': 1
}
profile = {
'name': 'taro',
'age': 2
}
taro = user | profile
複数の辞書を指定することも可能
user = {
'id': 1
}
profile = {
'name': 'taro',
'age': 2
}
favorite = {
'favorite': 'music'
}
taro = user | profile | favorite
|=演算子
+= のように結合して代入することも可能
user = {
'id': 1
}
profile = {
'name': 'taro',
'age': 2
}
favorite = {
'favorite': 'music'
}
user |= profile
dict()で辞書を作成
キーワード引数
user = dict(id=1, name='taro')
key: value の組み合わせから作成
user = dict([("id", 1), ("name", 'taro')])
keyと value のそれぞれのリストから作成
user = dict([("id", 1), ("name", 'taro')])
辞書内包表記
keys = ["id", "name"]
values = [1, "taro"]
user = {k: v for k, v in zip(keys, values)}
辞書のループ
普通にループするとキーが取得される
user = {
'id': 1,
'name': 'taro',
'age': 21
}
for key in user:
print(key)
# id
# name
# age
キー取得
普通にループするとキーが取得できるが、keys()を使用してもいい
user = {
'id': 1,
'name': 'taro',
'age': 21
}
for key in user.keys():
print(key)
# id
# name
# age
keys メソッドはdict_keysクラスを返す。
list() でリスト化できる。
keys = user.keys()
list(keys)
# ['id', 'name', 'age']
value 取得
valueの取得はvalues() を使用
user = {
'id': 1,
'name': 'taro',
'age': 21
}
for value in user.values():
print(value)
# 1
# 'taro'
# 21
values()メソッドはdict_valuesクラスを返す。
list() でリスト化できる。
key, valueの取得
key, valueの取得はitems()を使用
user = {
'id': 1,
'name': 'taro',
'age': 21
}
for key, value in user.items():
print(key, value)
# id 1
# name taro
# age 21
items()メソッドはdict_itemsクラスを返す。
list() でリスト化できる。