dic.

Informar un problema Ver fuente Nightly · 8.3 · 8.2 · 8.1 · 8.0 · 7.6

dict es un tipo integrado que representa una asignación asociativa o un diccionario. Un diccionario admite la indexación con d[k] y la prueba de pertenencia a la clave con k in d; ambas operaciones tardan un tiempo constante. Los diccionarios no inmutables 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 a una clave existente, pero sí se ve afectado por la eliminación y la reinserció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, ...} genera un diccionario nuevo con las entradas de clave/valor especificadas, insertadas en el orden en que aparecen en la expresión. La evaluación falla si dos expresiones clave cualesquiera arrojan el mismo valor.
  2. Una comprensión de diccionario {k: v for vars in seq} genera un diccionario nuevo en el que se inserta cada par clave-valor en el orden de iteración del bucle. Se permiten 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 integrada dict devuelve un diccionario que contiene las entradas especificadas, que se insertan en el orden de los argumentos, los argumentos posicionales antes de los argumentos con nombre. Al igual que con las comprensiones, se permiten las claves duplicadas.
  4. La expresión de unión x | y genera un nuevo diccionario combinando dos diccionarios existentes. Si los dos diccionarios tienen una clave k en común, prevalece el valor de la clave del diccionario del lado derecho (en otras palabras, y[k]). La variante |= del operador de unión modifica un diccionario de forma 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)

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

Parámetros

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

elementos

list dict.items()

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

claves

list dict.keys()

Devuelve 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 devuelve el valor asociado. Si no se encontró ninguna entrada con esa clave, no quita nada y devuelve el valor default especificado. Si no se especificó ningún valor predeterminado, se produce un error.

Parámetros

Parámetro Descripción
key obligatorio
Es la clave.
default El valor predeterminado es unbound
un valor predeterminado si la clave no está presente.

popitem

tuple dict.popitem()

Quita y devuelve el primer par (key, value) del diccionario. popitem es útil para iterar de forma destructiva sobre un diccionario, como se usa a menudo en los algoritmos de conjuntos. Si el diccionario está vacío, falla la llamada a popitem.

setdefault

unknown dict.setdefault(key, default=None)

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

Parámetros

Parámetro Descripción
key obligatorio
Es la clave.
default El valor predeterminado es None
un valor predeterminado si la clave no está presente.

update

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

Primero, actualiza el diccionario con el argumento posicional opcional, pairs, y, luego, con los argumentos de palabra clave opcionales. Si el argumento posicional está presente, debe ser un diccionario, un iterable o None. Si es un dict, sus pares clave-valor se insertan en este dict. Si es iterable, debe proporcionar una secuencia de pares (o de otros 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
Es un diccionario de entradas adicionales.

valores

list dict.values()

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