辞書は「キー:値」をペアとした要素をカンマで区切り{}で 囲って作ります。1つの辞書に同じキーを重複できません。
P214
●辞書の例
x### 辞書の例
stock = {"S": 7, "M": 12, "L": 3}
result = {"t1": True, "t2": False, "t3": True}
point = {10: 5.37, 20: 5.56, 30: 5.05, 40: 5.16}
P215
●タプルがキーになっている辞書
タプルをキーにできます
x### タプルがキーになっている辞書
d = {(2011, "ab"): 10, (2011, "ax"): 12.5, (2013, "bw"):16}
●辞書の要素の個数
辞書の要素は len() で数えられます。
x### 辞書の要素は len() で数えられます
fruit = {"apple": 2, "orange": 8, "mango":2, "peach":1}
len(fruit)
P216
dict()で辞書を作る
●(キー, 値)のリストから辞書を作る
x### (キー, 値)のリストから辞書を作る
data = dict([("yellow",3), ("blue",6), ("green",5)]) # 辞書を作る
data
●キーのkeysリストと値のvaluesリストから辞書を作る zip()を利用するとキーのリストと値のリストをあわせて、(キー,値)の タプルのリストから辞書をつくれます。
x### キーのkeysリストと値のvaluesリストから辞書を作る
keys = ["yellow", "blue", "green"]
values = [3, 6, 5]
data = dict(zip(keys, values)) # 辞書に変換する
data
●[キー, 値]のタプルから辞書を作る
x### [キー, 値]のタプルから辞書を作る
data = dict((["yellow",3], ["blue",6], ["green",5]))
data
P217
●dict()のキーワード引数を利用して辞書を作る キーワード引数とは、キーとその値を引数にします。
x### dict()のキーワード引数を利用して辞書を作る
data = dict(yellow = 3, blue = 6, green = 5) # 辞書を作る
data
●初期値を0にした辞書をリストから作る
xstock = dict.fromkeys(["S", "M", "L"], 0)
stock
●文字列をキーとして指定し、初期値を省略する
x### 初期値を0にした辞書をリストから作る
data = dict.fromkeys("abcd")
data
P218
●"blue"の値を更新し、"white"の要素を追加する
x### "blue"の値を更新し、"white"の要素を追加する
data = {"yellow": 3, "blue": 6, "green": 5}
data["blue"] = 10
data["white"] = 5
data
●キーが存在しないときに要素を追加する
xxxxxxxxxx
### "blue"の値を更新し、"white"の要素を追加する
### 辞書はすでにキーがあれば変更できない。
data = {"yellow": 3, "blue": 6, "green": 5}
data.setdefault("blue", 10) # "blue"キーがあるので変更できない
data.setdefault("white", 10) # "white"キーはないので要素を追加できる
data
P219
●空の辞書を作る
x### 空の辞書を作る
d1 = {} # 空の辞書
d2 = dict() # 空の辞書
d1
d2
●空の辞書に要素を追加していく
x### 空の辞書に要素を追加していく
number = {} # 空の辞書を作る
number["one"] = 1
number["two"] = 2
number["three"] = 3
number["four"] = 4
number
●辞書を別の辞書でupdate更新する
x### data辞書をnewdata辞書を、updateで更新する
data = {"a": 10, "b": 20, "c": 30} # 元の辞書
newdata = {"a": 15, "d": 99} # 更新用の辞書
data.update(newdata) # dataを更新する
data
P220
●指定のキーの要素を削除する
x### 指定のキーの要素を削除する
fruit = {"apple": 7, "orange": 5, "mango":3}
del fruit["mango"] # "mango"キーの要素を削除する
fruit
●辞書のすべての要素を削除する
x### 辞書のすべての要素を削除する
fruit = {"apple": 7, "orange": 5, "mango":3}
fruit.clear() # 要素をすべて削除する
fruit
●キーをリストから取り出し、値を乱数にした辞書を作る
x### キーをリストから取り出し、値を乱数にした辞書を作る
from random import randint
keys = ["green", "red", "blue", "yellow"]
data = {key: randint(1, 100) for key in keys}
data
P221
●辞書を変数に代入する
x### 辞書を変数に代入する
data = {"a":100, "b":200, "c":300}
data_b = data # 代入する
data_b["c"] = 0 # data_bの"c"の値を変更する
data_b
●辞書を複製する
x### 辞書を複製する
data = {"a":100, "b":200, "c":300}
data_b = data.copy() # dataを複製する
data_b["c"] = 0 # data_bの"c"の値を変更する
data_b
data
●同じキーをもった辞書を作る
x### 同じキーをもった辞書を作る
fruit = {"apple": 7, "orange": 5, "mango": 3, "peach": 6}
fruit2 = dict.fromkeys(fruit, 0)
fruit2
=======================================================
P223
●members辞書の東京の値を調べる
x### members辞書の東京の値を調べる
members = {"東京": 21, "大阪": 16, "福岡": 11}
members["東京"]
●存在しないキーを指定するとKeyErrorになる
x### 存在しないキーを指定するとKeyErrorになる
members["沖縄"]
P224
●get()を使って値を取り出す
x### get()を使って値を取り出す
members = {"東京": 21, "大阪": 16, "福岡": 11}
members.get("福岡")
get()の場合キーが存在しないと何も起こりません。
x### get()の場合キーが存在しないと何も起こりません。
members.get("京都")
●指定したキーがない場合のget()の戻り値を確認する
xxxxxxxxxx
### 指定したキーがない場合のget()の戻り値を確認する
members.get("京都")
v = members.get("京都")
print(v)
●user辞書に"age"キーがあるかどうか調べる
x###user辞書に"age"キーがあるかどうか調べる
user = {"id": "ad123", "name":"青井蒼空", "age":27}
"age" in user
P225
●fruit辞書からキーと値を順に取り出す XXX エラーになる XXX
xxxxxxxxxx
### fruit辞書からキーと値を順に取り出す XXX エラーになる XXX
fruit = {"apple": 7, "orange": 5, "mango": 3, "peach": 6}
for key in fruit :
value = fruit[key]
print(f"{key}が{value}個")
●辞書のキーをリストにする keys()を使うと辞書のすべてのキーを取り出すことができます。
x### 辞書のキーをリストにする
### keys()を使うと辞書のすべてのキーを取り出すことができます。
fruit = {"apple": 7, "orange": 5, "mango": 3, "peach": 6}
fruit.keys()
print(fruit.keys())
keys = list(fruit.keys()) # dict_keys型をリストに変換する
print(keys)
P226
●辞書の値をリストにする
xxxxxxxxxx
### 辞書の値をリストにする
fruit = {"apple": 7, "orange": 5, "mango": 3, "peach": 6}
fruit.values()
values = list(fruit.values())
print(fruit.values())
print(values)
●辞書の値の合計を求める
x### 辞書の値の合計を求める
fruit = {"apple": 7, "orange": 5, "mango": 3, "peach": 6}
sum(fruit.values())
●辞書のキーと値をタプルのリストにする
x### 辞書のキーと値をタプルのリストにする
### items()は辞書からキーと値をタプルにしたリストを作ります。
### 取り出された値はdict_item型なので、次にリスト型に変換している。
fruit = {"apple": 7, "orange": 5, "mango": 3, "peach": 6}
fruit.items()
print(fruit.items())
list(fruit.items())
print(list(fruit.items()))
●辞書からキーと値を取り出して出力する XXX エラーになる XXX
xxxxxxxxxx
### 辞書からキーと値を取り出して出力する XXX エラーになる XXX
fruit = {"apple": 7, "orange": 5, "mango": 3, "peach": 6}
for key,value in fruit.items():
print(f"{key}が{value}個")
P227
●fruit辞書から"apple"の値を取り出して削除する
x### fruit辞書から"apple"の値を取り出して削除する
fruit = {"apple": 7, "orange": 5, "mango": 3, "peach": 6}
fruit.pop("apple")
fruit
P228
●辞書から任意の要素を取り出す
x### 辞書から任意の要素を取り出す
fruit = {"apple": 7, "orange": 5, "peach": 6}
fruit.popitem()
fruit