辞書型

公式サイト:

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 プログラミング

Nested Dictionary | Programiz

Dictionaries | Real Python

作成

参考:

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

How to create an empty dictionary? | TutorialsPoint

Creating a new dictionary – Stack Overflow

スライス

参考:

Slicing a dictionary – Stack Overflow

in 演算子

演算子
  • in キーが存在することを判定する
  • not in キーが存在しないことを判定する
使用例

in 演算子を用いてキーの存在を判定する。

d = { "greeting": "Hello!" }
if "greeting" in d:
    print(d["greeting"])
else:
    print("Bye!")

参考:

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

in 演算子でリストなどに特定の要素が含まれるか判定 | note.nkmk.me

辞書に指定したキーの要素が含まれているか確認する | JavaDrive

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

in 演算子/not in 演算子の使いかた | Hbk project

比較演算子 in と not in の書き方 | TechAcademy マガジン

in や not in の書き方 – Qiita

繰り返し処理 (for 文)

キーを繰り返し処理する。

for key in my_dict:
    print(f"Key: {key}")Code language: Python (python)

値を繰り返し処理する。

for value in my_dict.values():
    print(f"Value: {value}")Code language: Python (python)

キーと値の組み合わせを繰り返し処理する。

for key, value in my_dict.items():
    print(f"Key: {key}, Value: {value}")Code language: Python (python)

参考:

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

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

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

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

ビュー

メソッド
  • keys() キーのビューを返す
  • values() 値のビューを返す
  • items() キーと値をペアにしたビューを返す

ドキュメント:

辞書ビューオブジェクト | Python 3.x ドキュメント [公式]

和集合

参考:

removeprefix / removesuffix – 辞書の和集合演算子 | @IT

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

ドキュメント:

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

参考:

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

unpacking a dictionary – Stack Overflow

アンパック

こちらのページを参照

ドキュメント:

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

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

参考:

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

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

こちらのページを参照

ドキュメント:

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

参考:

ChainMap の主な特徴 – Qiita

ChainMap を使ってみる – Qiita

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

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

ドキュメント:

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

参考:

hashable – Qiita

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

What does “hashable” mean? – Stack Overflow

値の出現回数を数える

  • operator.countOf を使う

ドキュメント:

countOf – operator | Python 3.x ドキュメント [公式]

参考:

count the number of occurrences of a certain value in a dictionary? – Stack Overflow

KeyError

get メソッドを用いて、キーが存在しなかった場合に指定したデフォルト値を返させる。

value = my_dict.get("key", "Missing")Code language: Python (python)

ドキュメント:

get | Python 3.x ドキュメント [Official]

参考:

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

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

KeyError を何とかする – Qiita

Tips

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

PyDictObject

ドキュメント:

辞書オブジェクト – 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