d[k]
y las pruebas de membresía de claves con k in d
. Ambas operaciones tardan tiempo constante. Los diccionarios no congelados son mutables y se pueden actualizar mediante la asignación a d[k]
o el llamado 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 si se actualiza el valor asociado con una clave existente, pero se ve afectado si se quita una clave y, luego, se vuelve a insertar.
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")]
Existen cuatro maneras de construir un diccionario:
- Una expresión del diccionario
{k: v, ...}
genera un diccionario nuevo con las entradas de clave-valor especificadas, insertadas en el orden en el que aparecen en la expresión. La evaluación falla si dos expresiones clave producen el mismo valor. - Una comprensión del diccionario
{k: v for vars in seq}
genera un diccionario nuevo 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 integrada muestra un diccionario que contiene las entradas especificadas, que se insertan en orden de argumento, y argumentos posicionales antes de nombrarlos. Al igual que ocurre con los sistemas de comprensión, se permiten las claves duplicadas.
- La expresión de unión
x | y
genera un diccionario nuevo que combina dos diccionarios existentes. Si los dos diccionarios tienen una clavek
en común, ganará 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 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()Eliminar 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, es default
. Si no se proporciona default
, el valor predeterminado es None
para que este método nunca arroje un error.
Parámetros
Parámetro | Descripción |
---|---|
key
|
obligatorio Es la clave que se debe buscar. |
default
|
default = None Es el valor predeterminado que se usará (en lugar de None) si no se encuentra la clave. |
items
list dict.items()Muestra la lista de tuplas de 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 dict 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ó un valor predeterminado, falla en su lugar.
Parámetros
Parámetro | Descripción |
---|---|
key
|
required La clave. |
default
|
default = unbound Un valor predeterminado si la clave está ausente. |
popitem
tuple dict.popitem()Quita y muestra el primer par de
(key, value)
del diccionario. popitem
es útil para iterar de manera destructiva sobre un diccionario, como se usa con frecuencia en los 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
. El valor predeterminado de default
es None
.
Parámetros
Parámetro | Descripción |
---|---|
key
|
required La clave. |
default
|
default = None Un valor predeterminado si la clave está ausente. |
update
None dict.update(pairs=[], **kwargs)Actualiza el diccionario primero con el argumento posicional opcional,
pairs
, luego con los argumentos de palabras clave opcionales. Si el argumento posicional está presente, debe ser dict, 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 (u 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 dict.
Parámetros
Parámetro | Descripción |
---|---|
pairs
|
predeterminado = [] Es un diccionario o una lista de entradas. Las entradas deben ser tuplas o listas con exactamente dos elementos: key, value. |
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"]