d[k] y la prueba de pertenencia a claves con k in d; ambas operaciones tardan un tiempo constante. Los diccionarios no inmovilizados son mutables y se pueden actualizar asignando a d[k] o llamando a ciertos métodos. Los diccionarios son iterables; la iteración produce 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 la eliminación y la reinserción de una clave.
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 de diccionario
{k: v, ...}produce un diccionario nuevo con las entradas 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 diccionario nuevo en el que cada par clave-valor se inserta 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 devuelve un diccionario que contiene las entradas especificadas, que se insertan en orden de argumentos, argumentos posicionales antes de los argumentos con nombre. Al igual que con las comprensiones, se permiten claves duplicadas.
- La expresión de unión
x | yproduce un diccionario nuevo combinando dos diccionarios existentes. Si los dos diccionarios tienen una claveken común, gana 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 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
sencillo
None dict.clear()get
unknown dict.get(key, default=None)
key si esta se encuentra en el diccionario; de lo contrario, es default.key 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 La clave que se buscará. |
default
|
el valor predeterminado es NoneEl valor predeterminado que se usará (en lugar de None) si no se encuentra la clave. |
items
list dict.items()
{2: "a", 4: "b", 1: "c"}.items() == [(2, "a"), (4, "b"), (1, "c")]keys
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 en su lugar.
Parámetros
| Parámetro | Descripción |
|---|---|
key
|
obligatorio La clave. |
default
|
el valor predeterminado es unboundUn valor predeterminado si la clave está ausente. |
popitem
tuple dict.popitem()
(key, value) par 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, la llamada 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. default tiene como valor predeterminado None.
Parámetros
| Parámetro | Descripción |
|---|---|
key
|
obligatorio La clave. |
default
|
el valor predeterminado es NoneUn 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 diccionario, iterable o None.
Si es un diccionario, sus pares clave-valor se insertan en este diccionario. Si es un iterable, debe proporcionar una secuencia de pares (o cualquier otro iterable 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 []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. |
values
list dict.values()
{2: "a", 4: "b", 1: "c"}.values() == ["a", "b", "c"]