Pythonの辞書(dict)で使える組み込み関数とメソッド一覧
Pythonの辞書型(dict)は、キーと値のペアを格納できる非常に便利なデータ構造です。この記事では、辞書操作に役立つ組み込み関数と、辞書オブジェクトが持つ主要なメソッドを一覧形式でわかりやすく解説します。
辞書で使える組み込み関数
Pythonには、辞書を引数として受け取れる以下の組み込み関数が用意されています。
| No. | 関数名と説明 |
|---|---|
| 1 | cmp(dict1, dict2) 2つの辞書の要素同士を比較します。 ※この関数はPython 2専用で、Python 3では削除されています。代わりに比較演算子や == を使用してください。 |
| 2 | len(dict) 辞書の全体の長さ、つまり辞書に含まれる項目(キーと値のペア)の総数を返します。 |
| 3 | str(dict) 辞書を印刷可能な文字列表現に変換して返します。 |
| 4 | type(variable) 渡された変数の型を返します。変数が辞書であれば、 <class 'dict'> という辞書型が返されます。 |
辞書オブジェクトの主なメソッド
次に、辞書オブジェクトに対して直接呼び出せるメソッドを見ていきましょう。
| No. | メソッド名と説明 |
|---|---|
| 1 | dict.clear() 辞書からすべての要素を削除し、空の辞書にします。 |
| 2 | dict.copy() 辞書の浅いコピー(shallow copy)を返します。 |
| 3 | dict.fromkeys(seq[, value])seq の要素をキーとし、その値をすべて value に設定した新しい辞書を作成します。 |
| 4 | dict.get(key, default=None) 指定した key に対応する値を返します。キーが辞書内に存在しない場合は default の値を返します。 |
| 5 | dict.has_key(key) キーが辞書 dict 内に存在すれば true を、存在しなければ false を返します。※このメソッドはPython 2専用です。Python 3では key in dict という記述を使用してください。 |
| 6 | dict.items() 辞書の(キー, 値)タプルのペアをまとめて返します。 |
| 7 | dict.keys() 辞書のすべてのキーの一覧を返します。 |
| 8 | dict.setdefault(key, default=None)get() と似ていますが、キーがまだ辞書内に存在しない場合に dict[key] = default を設定したうえで値を返す点が異なります。 |
| 9 | dict.update(dict2) 別の辞書 dict2 のキーと値のペアを、元の辞書 dict に追加・更新します。 |
| 10 | dict.values() 辞書のすべての値の一覧を返します。 |
まとめ
辞書の操作では、len() や type() といった汎用的な組み込み関数に加えて、get()・keys()・values()・items()・update() などのメソッドを組み合わせて使うことで、柔軟かつ効率的にデータを扱うことができます。なお、cmp() や has_key() はPython 3では廃止されているため、現行バージョンでの開発では注意が必要です。
-
Pythonで辞書(dict)のキーの長さを切り詰める方法
Pythonの辞書(dict)でキーの長さを切り詰めたい場合は、リスト内包表記(辞書内包表記)を使うと簡単に実現できます。元の辞書のキーと値を順番に取り出しながら、キーを指定した長さにスライスで切り詰め、新しい辞書を作成するだけです。実装例以下は、キーを指定した文字数に切り詰める関数のサンプルコードです。def truncate_keys(a, length): return dict((k[:length], v) for k, v in a.items()) a = {foo: 125, bar: hello} b = truncate_keys(a, 2) print(b)実行
-
Pythonでタプルを辞書に変換する方法【基本とキー・値の入れ替え】
Pythonでは、dict()関数を使うことで、タプルから辞書オブジェクトを簡単に作成できます。この関数は「タプルのタプル」(ネストされたタプル)を引数として受け取ります。各内側のタプルには、キーと値のペアが含まれている必要があります。 基本的な変換方法 最もシンプルなのは、キーと値のペアを持つタプルをそのままdict()に渡す方法です。 >>> t = ((1, a), (2, b)) >>> dict(t) {1: a, 2: b} この例では、タプル((1, a), (2, b))の各要素が、それぞれ辞書のキーと値として解釈され、結果として{1: a,