dict es un tipo integrado que representa una asignación asociativa o un diccionario. Un diccionario admite el indexado con d[k]
y las pruebas de membresía de claves con k in d
. Ambas operaciones tardan un 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 genera la secuencia de claves en 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 quitar y volver a insertar 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 maneras de construir un diccionario:
- 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 generan el mismo valor. - 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}
- 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.
- La expresión de unión
x | y
genera un diccionario nuevo combinando dos diccionarios existentes. Si los dos diccionarios tienen una clavek
en común, gana el valor de la clave del diccionario de la derecha (en otras palabras,y[k]
). La variante|=
del operador de unión modifica un diccionario en su lugar. 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()
get
unknown dict.get(key, default=None)
key
si key
está en el diccionario; de lo contrario, muestra 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 Es el valor predeterminado que se usará (en lugar de Ninguno) si no se encuentra la clave. |
elementos
list dict.items()
{2: "a", 4: "b", 1: "c"}.items() == [(2, "a"), (4, "b"), (1, "c")]
claves
list dict.keys()
{2: "a", 4: "b", 1: "c"}.keys() == [2, 4, 1]
pop
unknown dict.pop(key, default=unbound)
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 no hay una clave. |
popitem
tuple dict.popitem()
(key, value)
del diccionario. popitem
es útil para iterar de forma destructiva en un diccionario, como se suele usar en algoritmos de conjuntos. Si el diccionario está vacío, la llamada a popitem
falla.
setdefault
unknown dict.setdefault(key, default=None)
key
está en el diccionario, muestra su valor. De lo contrario, inserta la clave con un valor de default
y muestra default
. La configuración predeterminada de default
es None
.
Parámetros
Parámetro | Descripción |
---|---|
key
|
required La clave. |
default
|
El valor predeterminado es None , un valor predeterminado si no hay una clave. |
update
None
dict.update(pairs=[], **kwargs)
pairs
, y, luego, con los argumentos de palabra clave opcionales. Si el argumento posicional está presente, debe ser un diccionario, un elemento iterable o None.
Si es un diccionario, sus pares clave-valor se insertan en este diccionario. 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()
{2: "a", 4: "b", 1: "c"}.values() == ["a", "b", "c"]