diff options
-rw-r--r-- | src/02_datos.md | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/src/02_datos.md b/src/02_datos.md index 981a359..fb5f451 100644 --- a/src/02_datos.md +++ b/src/02_datos.md @@ -338,6 +338,29 @@ seguida. 8.0 ``` +#### Set + +Los *sets* son muy similares a las listas y tuplas, pero con dos +peculiaridades: + +- Sus valores son únicos. No pueden repetirse. +- No están ordenados + +Estas dos características tan estrictas, lejos de ser limitantes, aportan una +mejora radical en su rendimiento. Buscar elementos en un set es extremadamente +eficiente y se usan principalmente para esa labor. + +Si quieres validar en algún momento que un valor es válido para un conjunto de +valores, el set es el tipo de dato que estás buscando. + +Los sets se declaran también usando las llaves, como un diccionario, pero no +usan claves. + +``` +>>> {"a", "b", 1} +{'a', 1, 'b'} +``` + ## Conversión Ahora que conoces los valores sé que quieres saber cómo cambiar de uno a otro. @@ -371,12 +394,19 @@ ValueError: invalid literal for int() with base 10: 'hola' [1, 2, 3] >>> dict((("a", 1),("b", 2))) {'a': 1, 'b': 2} +>>> set([1,2,2,3,4,4,4,4,4]) +{1, 2, 3, 4} ``` Los propios nombres de las funciones son bastante representativos de a qué tipo convierten. Si quieres saber más puedes ejecutar `help(nombre)` y ver qué te cuenta la ayuda. +> NOTA: Fíjate que si conviertes una secuencia de valores repetidos a *set* +> únicamente almacena los que no se repiten. Es uno de los usos más comunes que +> tienen. + + ## Operadores Ahora que sabes el contexto en el que vas a jugar, necesitas poder alterar los |