Un objeto correspondencia hace corresponder valores de un tipo
(el tipo clave) a objetos arbitrarios. Las correspondencias son objetos
mutables. En la actualidad, sólo hay un tipo correspondencia estándar,
el diccionario. Las claves de un diccionario pueden ser valores casi
arbitrarios. Los únicos tipos de valores inaceptables como claves son
los valores que contengan listas, diccionarios u otro tipo mutable que se
compare por su valor, en lugar de por su identidad como objeto.
Los tipos numéricos utilizados como claves obedecen a las reglas
usuales de comparación: si dos números resultan iguales si se comparan
(por ejemplo 1
y 1.0
) se pueden usar intercambiablemente
para indicar la misma entrada en el diccionario.
Los diccionarios se crean colocando una lista separada por comas de pares
key: value
, entre llaves, por ejemplo:
{'jack': 4098, 'sjoerd': 4127}
o
{4098: 'jack', 4127: 'sjoerd'}
.
Se definen las siguientes operaciones sobre correspondencias (donde a y b son correspondencias, k es una clave, y v y x son objetos arbitrarios):
Operación | Resultado | Notas |
---|---|---|
len(a) |
el número de elementos de a | |
a[k] |
el elemento de a cuya clave es k | (1) |
a[k] = v |
establece a[k] a v |
|
del a[k] |
elimina a[k] de a |
(1) |
a.clear() |
elimina todos los elementos de a |
|
a.copy() |
copia (superficial) de a |
|
a.has_key(k) |
1 si a tiene una clave k, en caso contrario 0 |
|
a.items() |
una copia de la lista de pares (key, value) de a | (2) |
a.keys() |
una copia de la lista de claves de a | (2) |
a.update(b) |
for k in b.keys(): a[k] = b[k] |
(3) |
a.values() |
una copia de la lista de valores de a | (2) |
a.get(k[, x]) |
a[k] if a.has_key(k) ,
else x |
(4) |
a.setdefault(k[, x]) |
a[k] si a.has_key(k) ,
en caso contrario x (también asigna el valor) |
(5) |
Notas:
(valor,
clave)
con map(): "pairs = map(None,
a.values(), a.keys())".
None
.