Tipos de estructuras de datos en Python: lista, tupla, conjuntos y diccionario
Publicado: 2020-12-30Python es el lenguaje favorito de todos los tiempos para todos los entusiastas de la ciencia de datos. La naturaleza versátil y el enfoque fácil de entender ayudan a los desarrolladores a concentrarse más en comprender las tendencias en los datos y obtener información significativa en lugar de dedicar tiempo a corregir un error menor de punto y coma o cerrar el soporte superior. Python es el lenguaje más popular entre los principiantes y se adapta rápidamente, por lo que es importante tener una buena comprensión de este lenguaje.
Estructuras de datos es un concepto esencial en cualquier lenguaje de programación. Define cómo las variables y los datos se pueden almacenar y recuperar de la memoria de la mejor manera posible, según el tipo de datos. También define la relación entre variables, lo que ayuda a decidir las operaciones y funciones que se deben realizar sobre ellas. Comprendamos cómo Python gestiona los datos.
Tabla de contenido
Tipos de estructura de datos en Python
1. Lista
Esta es la estructura de datos más simple y de uso común en la programación de Python. Como sugiere el nombre, es una colección de artículos para ser almacenados. Los elementos almacenados pueden ser de cualquier tipo numérico, cadena, booleano, objetos, etc., lo que lo hace heterogéneo. Esto significa que una lista puede tener cualquier tipo de datos y podemos iterar sobre esta lista usando cualquier tipo de ciclo.
Los elementos almacenados suelen estar asociados a un índice que define la posición en la lista. La numeración del índice comienza desde cero. La lista es mutable, lo que significa que los elementos de la lista se pueden agregar, eliminar o cambiar incluso después de su definición. Esta estructura de datos es como matrices en otros idiomas, que generalmente es homogénea, lo que significa que solo se puede almacenar un tipo de datos en matrices. Algunas operaciones básicas en las Listas son las siguientes:
- Para declarar una lista en Python, colóquela entre corchetes:
muestra_lista = ['upGrad', '1', 2]
- Para inicializar una lista vacía:
muestra_lista = lista()
- Añadir elementos a la lista:
muestra_lista.append('nuevo_elemento')
- Eliminar elementos de la lista:
sample_list.remove(<nombre del elemento>) elimina el elemento específico
del sample_list[<element index num>] elimina el elemento en ese índice
sample_list.pop(<element index num>) elimina el elemento de ese índice y devuelve ese elemento eliminado
- Para cambiar el elemento en cualquier índice:
sample_list[<cualquier índice>] = nuevo elemento
- Rebanado : esta es una característica importante que puede filtrar elementos en la lista en casos particulares. Considere que necesita solo un rango específico de valores de la lista, entonces simplemente puede hacerlo de la siguiente manera:
sample_list[start: stop: step] donde step define la brecha entre los elementos y por defecto es 1.
Más información sobre: Cómo crear un árbol de decisión perfecto
2. tupla
Esta es otra estructura de datos que almacena datos secuencialmente, lo que significa que los datos agregados permanecen ordenados como las listas. Siguiendo la misma línea, Tuple también puede almacenar datos heterogéneos, y la indexación sigue siendo la misma.
La principal diferencia entre los dos es que los elementos almacenados en la tupla son inmutables y no se pueden cambiar después de la definición. Esto significa que no puede agregar nuevos elementos, cambiar elementos existentes o eliminar elementos de la tupla. Los elementos solo se pueden leer a través de la indexación o el desempaquetado sin reemplazo.
Esto hace que la tupla sea más rápida en comparación con la lista en términos de creación. La tupla se almacena en un solo bloque de memoria, pero una lista requiere dos bloques, uno de tamaño fijo y el otro de tamaño variable para almacenar datos. Se debe preferir una tupla a una lista cuando el usuario está seguro de que los elementos a almacenar no requieren ninguna modificación adicional. Algunas cosas a considerar al usar una tupla:
- Para inicializar una tupla vacía:
muestra_tupla = tupla()
- Para declarar una tupla, encierre los elementos entre corchetes:
muestra_tuple = ('upGrad', 'Python', 'ML', 23432)
- Para acceder a los elementos de la tupla:
muestra_tupla[<núm_índice>]
3 juegos
En matemáticas, un conjunto es una colección bien definida de elementos únicos que pueden o no estar relacionados entre sí. En tupla y lista, uno puede almacenar muchos elementos duplicados sin fallas, pero la estructura de datos establecida solo admite elementos únicos.

Los elementos de un conjunto se almacenan de manera desordenada, lo que significa que los elementos se almacenan aleatoriamente en el conjunto y no se admite una posición definida ni un índice, ni se permite el corte en un conjunto. El conjunto es mutable en sí mismo, pero los elementos deben ser inmutables porque la forma en que funcionan los conjuntos es el hash de estos elementos y, en este proceso, solo los elementos inmutables pueden ser hash.
Los elementos se pueden agregar o eliminar del conjunto, pero no se pueden cambiar, ya que no existe un concepto de indexación y, por lo tanto, los elementos se pueden cambiar. Al igual que en matemáticas, aquí también se pueden realizar todas las operaciones con conjuntos, como unión, intersección, diferencia, disjunción. Veamos cómo implementarlo:
- Para inicializar un conjunto vacío:
conjunto_muestra = conjunto()
- Añadir elementos al conjunto:
sample_set.add(item) Esto agrega un solo elemento al conjunto
sample_set.update(items) Esto puede agregar varios elementos a través de una lista, tupla u otro conjunto
- Eliminar elementos del conjunto:
sample_set.discard(item) Elimina el elemento sin previo aviso si el elemento no está presente
sample_set.remove(item) Genera un error si el elemento a eliminar no está presente.
- Conjunto de operaciones (suponga dos conjuntos inicializados: A y B):
un | B o A.union(B): operación de unión
A & B o A.intersection(B): operación de intersección
A – B o A.difference(B): Diferencia de dos conjuntos
A ^ B o A.symmetric_difference(B) : Diferencia simétrica de conjuntos
Echa un vistazo: Marcos de datos en Python
4. Diccionario
Esta es la estructura de datos más útil en Python, que permite que los elementos de datos se almacenen en forma de par clave-valor. La clave debe ser un valor inmutable y el valor puede ser un elemento mutable. Este concepto es como el aspecto de un diccionario real, donde tenemos las palabras como claves y sus significados como valores. Un diccionario almacena estos pares de forma desordenada y, por lo tanto, no existe el concepto de índice en esta estructura de datos. Algunas cosas importantes relacionadas con esto:
- Para inicializar un diccionario vacío:
ejemplo_dict = dict()
- Para agregar elementos al diccionario:
sample_dict[clave] = valor
Otra forma de hacer esto es sample_dict = {clave: valor}
Si imprime este diccionario, la salida sería: {'clave1': valor, 'clave2': valor... }
- Para obtener las claves y valores del diccionario:
sample_dict.keys(): devuelve la lista de claves
sample_dict.values(): devuelve la lista de valores
sample_dict.items(): devuelve el objeto de vista de los pares clave-valor como una tupla en la lista
Aprenda cursos de ciencia de datos de las mejores universidades del mundo. Obtenga programas Executive PG, programas de certificados avanzados o programas de maestría para acelerar su carrera.
Conclusión
Es importante comprender los conocimientos básicos de las estructuras de datos en Python. Al estar en la industria de datos, diferentes estructuras de datos pueden ayudar a obtener una mejor solución de los algoritmos subyacentes. Hace que el desarrollador sea más consciente de las mejores prácticas de codificación para obtener resultados de manera eficiente. El uso de cada estructura de datos se basa en gran medida en la situación y requiere una práctica rigurosa.
¿Cuál es la importancia de las estructuras de datos?
Las estructuras de datos son uno de los pilares fundamentales de cualquier lenguaje de programación. Definen cómo se almacenarán y manipularán los datos en la memoria. Los conceptos de estructuras de datos siguen siendo los mismos sin importar de qué lenguaje de programación estemos hablando.
Las estructuras de datos más comunes incluyen matrices, listas, pilas, colas, árboles, hashmaps y gráficos. Algunos de ellos están integrados, mientras que otros deben ser implementados por el usuario con la ayuda de las estructuras de datos predefinidas.
¿Cómo puedo desarrollar una sólida comprensión de las estructuras de datos?
Los conceptos fundamentales de las implementaciones y el funcionamiento de cualquier estructura de datos deben ser el primer paso que debe tomar. Después de familiarizarse con los conceptos teóricos y el trabajo, puede comenzar con la parte de codificación.
Siempre debe estudiar las complejidades temporales y espaciales de cualquier algoritmo o estructura de datos en la que esté trabajando. Esto le dará una idea adecuada del concepto y podrá resolver cualquier pregunta que requiera esa estructura de datos en particular.
¿Cuándo se prefiere una lista de Python para almacenar datos?
Se puede usar una lista para almacenar varios valores con diferentes tipos de datos y se puede acceder a ella solo por sus respectivos índices. Cuando necesite realizar operaciones matemáticas sobre los elementos, se puede utilizar una lista, ya que le permite operar matemáticamente los elementos directamente.
Dado que se puede cambiar el tamaño de una lista, se puede usar para almacenar los datos cuando no está seguro de la cantidad de elementos que se almacenarán.