Colecciones de datos nativas
Además de las variables, Python también permite trabajar con colecciones de datos. En el lenguaje-base están disponibles cuatro colecciones de datos, pero mediante bibliotecas complementarias podemos ampliar esta tipología básica. De momento, en esta entrada, nos limitaremos a presentar las colecciones nativas.
Empecemos por un breve resumen que nos ofrece Gemini a modo de síntesis.
| Colección | Ordenada | Mutable | Datos duplicados |
| Lista | Sí | Sí | Sí |
| Tupla | Sí | No | Sí |
| Conjunto (set) | No | Sí | No |
| Diccionario | Sí | Sí | Claves no, valores sí |
Listas (list). Son colecciones ordenadas y mutables que permiten incluir datos duplicados. Son la mejor opción cuando necesitas trabajar con una secuencia de elementos ordenados y que se van a modificar frecuentemente.
A nivel de sintaxis se caracterizan por estar delimitadas por corchetes (mi_lista = [1, "hola", 3.14])
Tuplas (tuple). Son colecciones ordenadas e inmutables, lo que implica que no se pueden cambiar una vez creadas, lo que las hace más rápidas y seguras para datos que no deben variar.
A nivel sintáctico se presentan delimitadas por paréntesis (mi_tupla = (10, 20, 30))
Conjuntos (set). Son colecciones desordenadas y no indexadas. Su característica principal es que no permiten duplicados.
Admite el cambio de datos, pero sólo en el sentido de que es posible añadir o quitar elementos siempre que estos, a su vez, sean inmutable, pero no elementos mutables. Esto implica que podemos añadir números, cadenas o tuplas (que son inmutables), pero no listas (que son mutables).
Son muy eficientes para operaciones matemáticas como uniones o intersecciones de conjuntos. Si convertimos una lista en un conjunto se eliminarán los elementos repetidos que podía contener la lista, lo que permite plantear procedimientos interesantes; uno de ellos es la verificación de la pertenencia de un dato a un conjunto.
Su sintaxis (mi_set = {1, 2, 3, 3}) es el uso de las llaves como delimitador.
Diccionarios (dict). Son colecciones de pares clave-valor, extremadamente rápidos para buscar información conociendo la clave. Su uso es interesante para representar objetos (POO) y para trabajar con bases de datos en memoria o en mapeos.
Se identifican sintácticamente por estar delimitados por llaves (mi_dict = {"nombre": "Ana", "edad": 25}) junto con la estructura llave:valor.
