summaryrefslogtreecommitdiff
path: root/es/02_datos.md
diff options
context:
space:
mode:
Diffstat (limited to 'es/02_datos.md')
-rw-r--r--es/02_datos.md27
1 files changed, 20 insertions, 7 deletions
diff --git a/es/02_datos.md b/es/02_datos.md
index b641a79..8400737 100644
--- a/es/02_datos.md
+++ b/es/02_datos.md
@@ -325,10 +325,12 @@ Además, los diccionarios no están ordenados así que no se puede suponer que l
claves siempre van a estar en el orden en el que se introducen.
Para declarar diccionarios es necesario indicar qué claves se quieren usar. Las
-claves son de tipo string. En el caso de los diccionarios, además, se utilizan
-llaves para definirlos. El acceso a sus valores se realiza con los corchetes,
-del mismo modo que en las listas, pero es necesario seleccionar la clave para
-acceder.
+claves pueden ser de cualquier tipo que se considere *hasheable*[^hasheable],
+concepto que se analiza más adelante, aunque normalmente su usan cadenas de
+caracteres como claves.
+
+El acceso a sus valores se realiza con los corchetes, del mismo modo que en las
+listas, pero es necesario seleccionar la clave para acceder.
Los diccionarios, al igual que las listas, son mutables. Como veremos en
seguida.
@@ -336,17 +338,23 @@ seguida.
``` python
>>> {"nombre": "Guido", "apellido": "Van Rossum", "popularidad": 8.0}
{'nombre': 'Guido', 'apellido': 'Van Rossum', 'popularidad': 8.0}
->>> {"nombre": "Guido", "apellido": "Van Rossum", "popularidad": 8.0}["popularidad"]
+>>> {"nombre": "Guido", "apellido": "Van Rossum",
+ "popularidad": 8.0}["popularidad"]
8.0
```
+[^hasheable]: Los diccionarios son una implementación del concepto conocido
+ como *hashmap* o *hash-table*. Su funcionamiento interno requiere que las
+ claves puedan procesarse mediante una función de *hash*.
+
#### Set
-Los *sets* son muy similares a las listas y tuplas, pero con dos
+Los *sets* son muy similares a las listas y tuplas, pero con varias
peculiaridades:
- Sus valores son únicos. No pueden repetirse.
-- No están ordenados
+- No están ordenados.
+- No pueden accederse mediante los corchetes (`[]`).
Estas dos características tan estrictas, lejos de ser limitantes, aportan una
mejora radical en su rendimiento. Buscar elementos en un set es extremadamente
@@ -363,6 +371,11 @@ usan claves.
{'a', 1, 'b'}
```
+Otro de los usos más habituales de los sets es el de aplicar teoría de
+conjuntos (*set* significa «conjunto»). Los sets pueden combinarse forma
+eficiente mediante uniones (*union*), diferencias (*difference*),
+intersecciones (*intersection*) y otros métodos descritos en esta teoría.
+
## Conversión
Ahora que conoces los valores sé que quieres saber cómo cambiar de uno a otro.