辞書型 (dict)

公式サイト:

dict – マッピング型 | Python 3.x ドキュメント [公式]

使い方

空の辞書を作成する。

empty = {}
Code language: Python (python)

辞書を作成する。

alphabets = {"a": "apple", "b": "baby", "c": "cheese"}
Code language: Python (python)

参考:

辞書 (dict) について | Python Carnival

辞書 (dict) の使い方の基本 | Hbk project

辞書 | Let’s プログラミング

Python Nested Dictionary | Programiz

Dictionaries in Python | Real Python

作成

参考:

Python で辞書を作成する dict() と波括弧、辞書内包表記 | note.nkmk.me

How to create an empty dictionary in Python? | TutorialsPoint

Creating a new dictionary in Python – Stack Overflow

スライス

参考:

Slicing a dictionary – Stack Overflow

in 演算子

参考:

Python で辞書のキー/値の存在を確認/取得/検索 | note.nkmk.me

辞書に指定したキーの要素が含まれているか確認する | Let’s プログラミング

dictionary 内に Key が存在するか確認する方法 – Qiita

繰り返し処理 (for 文)

参考:

Python の辞書形式の for ループ処理 – Qiita

keys, values, items – Python の辞書の for ループ処理 | note.nkmk.me

Python の辞書の for ループで要素を取り出す方法 | HEADBOOST

辞書を for 文でループ処理する方法をわかりやすく解説! | キカガクの技術ブログ

和集合

参考:

Python 3.9 登場、追加された辞書の和集合演算子、removeprefix/removesuffix メソッドとは | @IT

指定した要素を取り出す (pop)

参考:

clear / pop / popitem / del – 辞書の要素を削除する | note.nkmk.me

ミュータブルなシーケンス型 | Python 3.x ドキュメント [公式]

unpacking a dictionary – Stack Overflow

アンパック

こちらのページを参照

参考:

コレクションのアンパック | python.jp

辞書表示 | Python 3.x ドキュメント [公式]

呼び出し | Python 3.x ドキュメント [公式]

Object Spread Operator for Python | Sparrow Computing

Why this dictionary unpacking is not working? – Stack Overflow

Is there an object spread syntax in python 2.7x like in JavaScript? – Stack Overflow

Unpack list of dictionaries – Stack Overflow

nested dictionary spread (**kwargs) – Stack Overflow

指定したキーを除外する

参考:

Retain all entries except for one key – Stack Overflow

正規表現に合致するキーを探索する

参考:

正規表現を使った辞書キー指定 – Qiita

dictionary search values for keys using regular expression – Stack Overflow

内包表記

内包表記を用いて辞書を作成する。

cubes = { i: f"Cube_{i:03}" for i in range(1, 10) }
Code language: Python (python)

参考:

内包表記で辞書を作成するには | @IT

辞書内包表記の基本と使い方 | dot blog

ChainMap

こちらのページを参照

参考:

ChainMap の主な特徴 – Qiita

Python3 の collections モジュール (ChainMap) を使ってみる – Qiita

collections.ChainMap の使い方を理解する | 静かなる名辞

collections.ChainMap | Python 3.x ドキュメント [公式]

Unpack list of dictionaries – Stack Overflow

キーが存在しない場合のみ追加する (setdefault)

参考:

setdefault – Python で辞書にキーが存在しないときのみ要素を追加する | note.nkmk.me

setdefault() Method | W3Schools

ハッシュ

  • ハッシュ可能 (hashable)int / float / str / tuple / frozenset
  • ハッシュ不可能 (unhashable)list / dict / set

ハッシュ可能な値のみが、辞書のキーとして使用できる。

参考:

Python における hashable – Qiita

hashable | Python 3.x ドキュメント [公式]

3 Essential Questions About Hashable in Python (Yong Cui) | Better Programming

What does “hashable” mean in Python? – Stack Overflow

KeyError

参考:

dictionary で KeyError を出さないようにする – Qiita

辞書型の KeyError を回避する | TomoProg の技術書

KeyError を何とかする – Qiita

Tips

参考:

list / dict 操作で覚えておきたいイディオム – Qiita

PyDictObject

参考:

辞書オブジェクト (dictionary object) – C API リファレンスマニュアル | Python 3.x ドキュメント  [公式]

AttrDict

リポジトリ:

jakob753951/AttrDict: A dictionary that allows attribute-style access – GitHub

bcj/AttrDict: A dictionary that allows attribute-style access – GitHub

参考:

AttrDict – 辞書の値を属性参照する | け日記

Jashin

リポジトリ:

sojin-project/jashin: Assorted Python utilities – GitHub

参考:

jashin.dictattr で辞書の要素を属性値として参照する | Atsuo Ishimoto’s blog

記事をシェアする:
タグ:

コメントを残す

メールアドレスが公開されることはありません。

Protected by reCAPTCHA