辞書は「キー:値」をペアとした要素をカンマで区切り{}で 囲って作ります。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"] = 10data["white"] = 5data
●キーが存在しないときに要素を追加する
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() # 空の辞書d1d2
●空の辞書に要素を追加していく
x### 空の辞書に要素を追加していくnumber = {} # 空の辞書を作るnumber["one"] = 1number["two"] = 2number["three"] = 3number["four"] = 4number
●辞書を別の辞書で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 randintkeys = ["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_bdata
●同じキーをもった辞書を作る
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 エラーになる XXXfruit = {"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 エラーになる XXXfruit = {"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