dic.

Informar un problema Ver código fuente Nightly · 7.3 · 7.2 · 7.1 · 7.0 · 6.5

dict es un tipo integrado que representa una asignación asociativa o un diccionario. Un diccionario admite la indexación mediante d[k] y las pruebas de membresía de claves con k in d. ambas operaciones toman tiempo constante. Los diccionarios descongelados son mutables y se pueden actualizar asignándolos a d[k] o llamando a ciertos métodos. Los diccionarios son iterables; la iteración produce la secuencia de claves en el orden de inserción. El orden de iteración no se ve afectado por la actualización del valor asociado con una clave existente, pero sí por la eliminación y la posterior inserción de una clave.

d = {0: "x", 2: "z", 1: "y"}
[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, "y"), (2, "b")]

Existen cuatro formas de construir un diccionario:

  1. Una expresión de diccionario {k: v, ...} produce un diccionario nuevo con las entradas de par clave-valor especificadas, insertadas en el orden en que aparecen en la expresión. La evaluación falla si dos expresiones clave generan el mismo valor.
  2. Una comprensión de diccionario {k: v for vars in seq} produce un nuevo diccionario en el que se inserta cada par clave-valor en orden de iteración de bucle. Se permiten los duplicados: la primera inserción de una clave determinada determina su posición en la secuencia y la última determina su valor asociado.
    {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. Una llamada a la función dict integrada muestra un diccionario que contiene las entradas especificadas, que se insertan en el orden de los argumentos, los argumentos posicionales antes de los nombrados. Al igual que con las comprensiones, se permiten claves duplicadas.
  4. La expresión de unión x | y genera un diccionario nuevo combinando dos diccionarios existentes. Si los dos diccionarios tienen una clave k en común, gana el valor de la clave del diccionario del lado derecho (en otras palabras, y[k]). La variante |= del operador de la unión modifica un diccionario local. Ejemplo:
    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}

Miembros

borrar

None dict.clear()

Quita todos los elementos del diccionario.

get

unknown dict.get(key, default=None)

Muestra el valor de key si key está en el diccionario o, de lo contrario, default. Si no se proporciona default, el valor predeterminado es None, de modo que este método nunca genere un error.

Parámetros

Parámetro Descripción
key required
Es la clave que se debe buscar.
default el valor predeterminado es None
El valor predeterminado que se usará (en lugar de Ninguno) si no se encuentra la clave.

elementos

list dict.items()

Muestra la lista de tuplas clave-valor:
{2: "a", 4: "b", 1: "c"}.items() == [(2, "a"), (4, "b"), (1, "c")]

claves

list dict.keys()

Muestra la lista de claves:
{2: "a", 4: "b", 1: "c"}.keys() == [2, 4, 1]

pop

unknown dict.pop(key, default=unbound)

Quita un key del diccionario y muestra el valor asociado. Si no se encontró ninguna entrada con esa clave, no quites nada y muestra el valor default especificado. Si no se especificó ningún valor predeterminado, falla.

Parámetros

Parámetro Descripción
key required
La clave.
default el valor predeterminado es unbound
un valor predeterminado si la clave está ausente.

popitem

tuple dict.popitem()

Quita y muestra el primer par (key, value) del diccionario. popitem es útil para iterar destructivamente en un diccionario, como se usa a menudo en algoritmos establecidos. Si el diccionario está vacío, la llamada a popitem falla.

setdefault

unknown dict.setdefault(key, default=None)

Si key está en el diccionario, muestra su valor. De lo contrario, inserta una clave con un valor de default y muestra default. La configuración predeterminada de default es None.

Parámetros

Parámetro Descripción
key obligatorio
La clave.
default El valor predeterminado es None
, un valor predeterminado si no hay una clave.

update

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

Actualiza el diccionario primero con el argumento posicional opcional, pairs, y, luego, con los argumentos de palabras clave opcionales. Si el argumento posicional está presente, debe ser un diccionario, un elemento iterable o None. Si es un dict, sus pares clave-valor se insertan en este dict. Si es un elemento iterable, debe proporcionar una secuencia de pares (o bien otros elementos iterables de longitud 2), cada uno de los cuales se trata como un par clave-valor que se insertará. Cada argumento de palabra clave name=value hace que el par nombre-valor se inserte en este diccionario.

Parámetros

Parámetro Descripción
pairs el valor predeterminado es []
Puede ser un diccionario o una lista de entradas. Las entradas deben ser tuplas o listas con exactamente dos elementos: clave y valor.
kwargs obligatorio
Diccionario de entradas adicionales.

valores

list dict.values()

Muestra la lista de valores:
{2: "a", 4: "b", 1: "c"}.values() == ["a", "b", "c"]