diff options
author | Ekaitz Zarraga <ekaitz@elenq.tech> | 2019-11-21 14:03:29 +0100 |
---|---|---|
committer | Ekaitz Zarraga <ekaitz@elenq.tech> | 2019-11-21 14:03:29 +0100 |
commit | 40f49dc37e46d3631fda37a99d790422c10cffda (patch) | |
tree | 0f8310ddf50139cf3a809ef591cb9de15107919a /src | |
parent | 44bc3919b6c995e7b08826a0eca8aef5a22e43e7 (diff) |
add sets to Types
Diffstat (limited to 'src')
-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 |