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 que no están inmovilizados son mutables y se pueden actualizar mediante la asignación 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 si se actualiza el valor asociado con una clave existente, pero se ve afectado si se quita y, luego, se vuelve a insertar la 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, ...}
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 producen el mismo valor. - 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}
- Una llamada a la función dict incorporada muestra un diccionario que contiene las entradas especificadas, que se insertan en el orden de los argumentos, los argumentos posicionales antes de nombrar. Como con la comprensión, se permiten claves duplicadas.
- La expresión de unión
x | y
produce 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 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()
get
unknown dict.get(key, default=None)
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 arroje un error.
Parámetros
Parámetro | Descripción |
---|---|
key
|
obligatorio La clave que hay que 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()
{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 dict y muestra el valor asociado. Si no se encontró ninguna entrada con esa clave, no quita nada y muestra el valor default
especificado. Si no se especificó un valor predeterminado, falla.
Parámetros
Parámetro | Descripción |
---|---|
key
|
obligatorio La clave. |
default
|
el valor predeterminado es unbound un valor predeterminado si la clave está ausente. |
popitem
tuple dict.popitem()
(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)
key
está en el diccionario, muestra su valor. De lo contrario, inserta una clave con un valor de default
y muestra default
. El valor predeterminado de default
es None
.
Parámetros
Parámetro | Descripción |
---|---|
key
|
obligatorio La clave. |
default
|
el valor predeterminado es None un valor predeterminado si la clave está ausente. |
update
None
dict.update(pairs=[], **kwargs)
pairs
, y luego con los argumentos de palabras clave opcionales.
Si el argumento posicional está presente, debe ser un dict, iterable o None.
Si es un dict, sus pares clave-valor se insertan en este dict. Si es un iterable, debe proporcionar una secuencia de pares (o de otros iterables de longitud 2), cada uno de los cuales se trate como un par clave-valor que debe insertarse.
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"]