辞書

<ph type="x-smartling-placeholder"></ph> 問題を報告する ソースを表示 夜間 7.4 をタップします。 7.3 7.2 7.1 7.0 6.5

辞書は、連想マッピングまたは辞書を表す組み込み型です。辞書は、d[k] を使用したインデックス処理と k in d を使用したキーメンバーシップ テストをサポートしています。どちらの操作も一定の時間がかかります。固定されていない辞書は変更可能で、d[k] に代入するか、特定のメソッドを呼び出すことで更新できます。辞書は反復処理可能です。反復処理を行うと、挿入順序のキーのシーケンスが生成されます。反復処理の順序は、既存のキーに関連付けられている値を更新しても影響を受けませんが、キーを削除してから再挿入すると影響を受けます。

d = {0: 0, 2: 2, 1: 1}
[k for k in d]  # [0, 2, 1]
d.pop(2)
d[0], d[2] = "a", "b"
0 in d, "a" in d  # (True, False)
[(k, v) for k, v in d.items()]  # [(0, "a"), (1, 1), (2, "b")]

辞書を作成するには、次の 4 つの方法があります。

  1. 辞書式 {k: v, ...} は、指定されたキー / 値エントリを含む新しい辞書を返します。このエントリは、式に現れる順序で挿入されます。2 つのキー式で同じ値が返された場合、評価は失敗します。
  2. 辞書コンプリヘンション {k: v for vars in seq} は、各 Key-Value ペアがループのイテレーション順序で挿入される新しい辞書を生成します。重複は許可されます。特定のキーの最初の挿入によってシーケンス内の位置が決まり、最後の挿入によって関連付けられた値が決まります。
    {k: v for k, v in (("a", 0), ("b", 1), ("a", 2))}  # {"a": 2, "b": 1}
    {i: 2*i for i in range(3)}  # {0: 0, 1: 2, 2: 4}
    
  3. 組み込みの dict 関数を呼び出すと、指定したエントリを含む辞書が返されます。この辞書は、name の前に位置引数を引数の順序で挿入します。理解と同様に、重複するキーも使用できます。
  4. 共用体式 x | y は、既存の 2 つの辞書を結合して新しい辞書を生成します。2 つの辞書にキー k が共通する場合、右側の辞書のキーの値(つまり y[k])が優先されます。ユニオン演算子の |= バリアントは、辞書をインプレースで変更します。例:
    d = {"foo": "FOO", "bar": "BAR"} | {"foo": "FOO2", "baz": "BAZ"}
    # d == {"foo": "FOO2", "bar": "BAR", "baz": "BAZ"}
    d = {"a": 1, "b": 2}
    d |= {"b": 3, "c": 4}
    # d == {"a": 1, "b": 3, "c": 4}

メンバー

クリア

None dict.clear()

辞書からすべての項目を削除します。

get

unknown dict.get(key, default=None)

key が辞書に存在する場合は key の値を返し、存在しない場合は default を返します。default が指定されていない場合、デフォルトは None になるため、このメソッドからエラーがスローされることはありません。

パラメータ

パラメータ 説明
key 必須
検索するキー。
default デフォルトは None
キーが見つからない場合に(None の代わりに)使用するデフォルト値。

アイテム

list dict.items()

Key-Value タプルのリストを返します。
{2: "a", 4: "b", 1: "c"}.items() == [(2, "a"), (4, "b"), (1, "c")]

list dict.keys()

キーのリストを返します。
{2: "a", 4: "b", 1: "c"}.keys() == [2, 4, 1]

ポップ

unknown dict.pop(key, default=unbound)

辞書から key を削除し、関連する値を返します。そのキーを持つエントリが見つからない場合は、何も削除せず、指定された default 値を返します。デフォルト値が指定されていない場合は、代わりに失敗します。

パラメータ

パラメータ 説明
key 必須
鍵。
default デフォルトは unbound
キーが存在しない場合はデフォルト値が返されます。

popitem

tuple dict.popitem()

辞書から最初の (key, value) ペアを削除して返します。popitem は、セットのアルゴリズムでよく使われるため、辞書を破壊的に反復処理するのに便利です。辞書が空の場合、popitem の呼び出しは失敗します。

setdefault

unknown dict.setdefault(key, default=None)

key が辞書に含まれている場合は、その値を返します。存在しない場合は、値が default のキーを挿入して default を返します。default のデフォルトは None です。

パラメータ

パラメータ 説明
key 必須
鍵。
default デフォルトは None
です。キーが存在しない場合のデフォルト値です。

update

None dict.update(pairs=[], **kwargs)

最初にオプションの位置引数 pairs でディクショナリを更新し、次にオプションのキーワード引数で更新する 位置引数が存在する場合は、dict、iterable、None のいずれかにする必要があります。 辞書の場合、その Key-Value ペアがこの辞書に挿入されます。イテラブルの場合は、ペア(または長さ 2 の他のイテラブル)のシーケンスを提供する必要があります。各ペアは挿入対象の Key-Value ペアとして扱われます。 各キーワード引数 name=value により、この辞書に名前と値のペアが挿入されます。

パラメータ

パラメータ 説明
pairs デフォルトは []
ディクショナリまたはエントリのリストです。エントリは、キーと値の 2 つの要素を持つタプルまたはリストでなければなりません。
kwargs 必須
追加エントリのディクショナリ。

values

list dict.values()

値のリストを返します。
{2: "a", 4: "b", 1: "c"}.values() == ["a", "b", "c"]