辞書

記事
IT・テクノロジー

作成

{キー1: 値1, ...}
{}
同じ長さのリストから作成
dict(zip(キーのリスト, 値のリスト, strict=True))
zip() で strict=True を指定して、リストの長さが違ったらエラーにする

 デフォルト値

from collections import defaultdict
defaultdict(型)
from collections import defaultdict
defaultdict(lambda: 値)

 リストの要素をキーにする

dict.fromkeys(リスト)
デフォルト値あり
for key in リスト:
    デフォルト辞書[key]
{k: 式 for k in リスト}

Get

※キーが存在しないとエラー
辞書[キー]
デフォルト値
defaultdict なら不要
辞書.get(キー, 値)

Set

defaultdict なら不要
辞書[キー] = 値
デフォルト値
辞書.setdefault(キー, 値)

削除

要素
del 辞書[キー]
全削除
辞書.clear()

内包表記

{k: 式 for k, v in 辞書.items()}
{k: 式 for k, v in 辞書.items() if 条件}

合計

sum(辞書.values())

チェック

キーがあるか
キー in 辞書
辞書.get(キー, 値) か 辞書.setdefault(キー, 値) を使う方がPythonic
値があるか
値 in 辞書.values()

ループ

キー
for k in 辞書.keys():
for v in 辞書.values()
キーと値
for k, v in 辞書.items():

コピー

辞書.copy()
ディープコピー
 ※戻り値はdict
import copy
copy.deepcopy(辞書)

並べ替え

キー
dict(sorted(辞書.items()))
from operator import itemgetter
dict(sorted(辞書.items(), key=itemgetter(1)))
降順
sorted(..., reverse=True)

キーの数

len(辞書)

表示

きれいに表示
import pprint
pprint.pprint(辞書)

キーの順序

3.7以降は dict がデフォルトでキーの順序を保持する
defaultdict も同様

サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す ココナラコンテンツマーケット ノウハウ記事・テンプレート・デザイン素材はこちら