4 estructuras de datos integradas en Python: diccionarios, listas, conjuntos, tuplas
Publicado: 2020-03-24En este artículo, nos centraremos en las estructuras de datos en Python y lo ayudaremos a comprender el tema con claridad. Descubrirás qué son y cómo funcionan. También hemos compartido numerosos ejemplos para asegurarnos de que no tenga dudas con respecto a los temas que hemos compartido aquí.
Entonces, sin más preámbulos, comencemos.
Tabla de contenido
¿Qué son las estructuras de datos?
Las estructuras de datos le permiten organizar y administrar sus datos de manera eficaz y eficiente. Mejoran la accesibilidad de sus datos. La modificación de los datos almacenados también se vuelve bastante más sencilla si tiene estructuras de datos adecuadas. Le permiten organizar y almacenar los datos para que pueda realizar operaciones sobre los mismos más adelante sin enfrentar ningún tipo de dificultad.
Python tiene dos tipos de estructuras de datos. Las estructuras de datos que Python admite implícitamente son Set, Dictionary, List y Tuple. Estas son las estructuras de datos integradas de Python.
Luego están las estructuras de datos que puede crear usted mismo para tener un mejor control sobre la funcionalidad. Estas son estructuras de datos definidas por el usuario e incluyen listas enlazadas, gráficos, árboles, pilas, colas y HashMaps. Las estructuras de datos definidas por el usuario también están disponibles en otros lenguajes de programación.
Leer más: 6 estructuras de datos más utilizadas en R
Estructuras de datos integradas en Python
Python tiene múltiples estructuras de datos integradas. Estas estructuras de datos integradas lo ayudan a resolver los problemas de programación de manera rápida y sencilla. Como mencionamos anteriormente, Python tiene las siguientes estructuras de datos integradas:
- Diccionarios
- Liza
- Conjuntos
- tuplas
Analicemos cada uno de ellos en detalle:
1. Diccionarios
Usamos diccionarios para almacenar pares clave-valor. Al igual que un diccionario físico tiene una palabra almacenada junto con su significado, un diccionario en Python almacena pares clave-valor. Los términos son las claves, mientras que los diversos significados asociados con esas palabras son los valores. Con el valor, puede acceder a las claves.
Puede crear un diccionario con llaves de flores. También puede usar la función dict() para este propósito. Aquí hay un ejemplo:
my_dict = {} #diccionario vacío
imprimir (mi_dict)
my_dict = {1: 'A', 2: 'B'} #diccionario con elementos
imprimir (mi_dict)
La salida del código anterior:
{}
{1: 'A', 2: 'B'}
Puede cambiar los valores del diccionario a través de las teclas. Primero tendría que acceder a las teclas para cambiar los valores. Una vez que haya localizado las claves, solo tiene que agregar el par clave-valor requerido para obtener el resultado deseado.
my_dict = {'Primero': 'A', 'Segundo': 'B'}
imprimir (mi_dict)
my_dict['Second'] = 'C++' #elemento cambiante
imprimir (mi_dict)
my_dict['Third'] = 'Ruby' #agregar par clave-valor
imprimir (mi_dict)
La salida del código anterior:
{'Primero': 'A', 'Segundo': 'B'}
{'Primero': 'A', 'Segundo': 'C'}
{'Primero': 'A', 'Segundo': 'C', 'Tercero': 'D'}
Puede eliminar los valores en su diccionario usando la función pop(). La función pop() devuelve el valor que había eliminado. Puede recuperar un par clave-valor a través de la función popitem(). Devuelve la tupla del par. También puede borrar todo el diccionario usando la función clear(). Aquí está el ejemplo:
my_dict = {'Primero': 'A', 'Segundo': 'B', 'Tercero': 'C'}
a = my_dict.pop('Tercero') elemento #pop
imprimir('Valor:', a)
print('Diccionario:', mi_dict)
b = my_dict.popitem() #abre el par clave-valor
print('Clave, par de valores:', b)
print('Diccionario', mi_dict)
my_dict.clear() #diccionario vacío
imprimir('n', mi_dict)
La salida del código anterior:
Valor: C
Diccionario: {'Primero': 'A', 'Segundo': 'B'}
Clave, par de valores: ('Segundo', 'B')
Diccionario {'Primero': 'A'}
{}
Lea también: Ideas y temas de proyectos de Python
2. Listas
Usamos listas para almacenar datos secuencialmente. Cada elemento de la lista tiene una dirección, que también se denomina índice. El valor de índice de una lista va desde 0 hasta el último elemento presente en su lista, y su nombre es indexación positiva. De manera similar, cuando regresa del último elemento al primero y cuenta desde -1, se denomina indexación negativa.
Puede crear una lista usando corchetes y agregar elementos en ellos según lo requiera. Si deja los corchetes vacíos, la lista no tendría ningún elemento y también estaría vacía. He aquí un ejemplo de una lista:
my_list = [] #crea una lista vacía
imprimir (mi_lista)
mi_lista = [A, B, C, 'ejemplo', Z] #creando lista con datos
imprimir (mi_lista)
La salida del código anterior:
[]
[A, B, C, 'ejemplo', Z]
Puede agregar elementos a su lista usando las funciones insertar(), extender() y agregar(). La función insert() agrega los elementos que se pasaron al valor del índice. La función insert() también aumenta el tamaño de la lista.
Con la función append(), puede agregar todos los elementos que se le pasan como un solo elemento. Por otro lado, la función extend() puede agregar los elementos uno por uno.
Aquí hay un ejemplo:
mi_lista = [A, B, C]
imprimir (mi_lista)
my_list.append([555, 12]) #añadir como elemento único
imprimir (mi_lista)
my_list.extend([234, 'more_example']) #añadir como elementos diferentes
imprimir (mi_lista)
my_list.insert(1, 'insertar_ejemplo') #agregar elemento i
imprimir (mi_lista)
Salida del código anterior:
[A B C]
[A, B, C, [555, 12]]
[A, B, C, [555, 12], 234, 'más_ejemplo']
[A, 'insertar_ejemplo', B, C, [555, 12], 234, 'más_ejemplo']
Al trabajar con listas, también se encontrará con la necesidad de eliminar algunos elementos. Puede utilizar la palabra clave 'del'. Es una palabra clave incorporada de Python y no devuelve nada. Si desea recuperar un elemento, deberá utilizar la función pop() y, para eliminar un elemento a través de su valor, deberá utilizar la función remove(). Aquí está el ejemplo:

mi_lista = [A, B, C, 'ejemplo', Z, 10, 30]
del my_list[5] #eliminar elemento en el índice 5
imprimir (mi_lista)
my_list.remove('ejemplo') #eliminar elemento con valor
imprimir (mi_lista)
a = my_list.pop(1) #pop elemento de la lista
print('Elemento reventado: ', a, 'Lista restante: ', mi_lista)
my_list.clear() #vaciar la lista
imprimir (mi_lista)
La salida del código anterior:
[A, B, C, 'ejemplo', Z, 30]
[A, B, C, Z, 30]
Elemento reventado: 2 Lista restante: [A, C, Z, 30]
[]
Puede pasar los valores de índice en Python y obtener los valores requeridos.
mi_lista = [A, B, C, 'ejemplo', Z, 10, 30]
para el elemento en mi_lista: #acceder a los elementos uno por uno
imprimir (elemento)
print(my_list) #accede a todos los elementos
print(my_list[3]) #acceso índice 3 elemento
print(my_list[0:2]) #acceder a elementos de 0 a 1 y excluir 2
print(my_list[::-1]) #acceder a los elementos al revés
La salida del código anterior:
A
B
C
ejemplo
Z
10
30
[A, B, C, 'ejemplo', Z, 10, 30]
ejemplo
[A,B]
[30, 10, Z, 'ejemplo', 3, 2, 1]
3 juegos
Una colección de elementos únicos y desordenados se llama conjunto. Entonces, si repite los datos por alguna razón, aparecerán en el conjunto solo una vez. Los conjuntos en Python son similares a los conjuntos sobre los que lee en matemáticas. Desde sus propiedades hasta sus funciones, encontrarás muchas similitudes entre ellos.
Puede crear un conjunto usando las llaves de flor y pasando sus valores. Aquí hay un ejemplo:
mi_conjunto = {A, B, C, D, E, E, E} #crear conjunto
imprimir (mi_conjunto)
La salida del código anterior:
{A B C D E}
Como mencionamos anteriormente, puede realizar todas las funciones de conjuntos que realiza en aritmética en los conjuntos de Python. Con la función union(), puede combinar los datos presentes en dos conjuntos. La función de intersección () le brinda los datos que están presentes en los dos conjuntos mencionados.
Tiene la función difference() que le permite eliminar los datos disponibles en ambos conjuntos y le brinda los datos que no son comunes entre ellos. La función symmetric_difference() le brinda los datos restantes en esos conjuntos.
mi_conjunto = {A, B, C, D}
mi_conjunto_2 = {C, D, E, F}
print(mi_conjunto.union(mi_conjunto_2), '———-', mi_conjunto | mi_conjunto_2)
print(mi_conjunto.intersección(mi_conjunto_2), '———-', mi_conjunto & mi_conjunto_2)
print(mi_conjunto.diferencia(mi_conjunto_2), '———-', mi_conjunto – mi_conjunto_2)
print(mi_conjunto.diferencia_simétrica(mi_conjunto_2), '———-', mi_conjunto ^ mi_conjunto_2)
mi_conjunto.clear()
imprimir (mi_conjunto)
La salida del código anterior:
{A, B, C, D, E, F} ———- {A, B, C, D, E, F}
{C, D} ———- {C, D}
{A, B} ———- {A, B}
{A, B, E, F} ———- {A, B, E, F}
colocar()
Lea también: Salario de desarrollador de Python en India
4. tuplas
Las tuplas son similares a las listas, pero una vez que ingresa datos en una tupla, no puede cambiarla a menos que sea mutable. Comprenderlos puede ser un poco complicado, pero no se preocupe, nuestro código de ejemplo podría ayudarlo en ese sentido. Puede crear una tupla con la ayuda de la función tuple().
mi_tupla = (A, B, C) #crear tupla
imprimir (mi_tupla)
La salida del código anterior:
(A B C)
El método para acceder a los valores de las tuplas es el mismo que en las listas.
my_tuple2 = (A, B, C, 'Actualizar') #elementos de acceso
para x en my_tuple2:
imprimir (x)
imprimir (mi_tupla2)
imprimir(mi_tupla2[0])
imprimir(mi_tupla2[:])
La salida del código anterior:
A
B
C
Actualizar
(A, B, C, 'Actualizar')
A
(A, B, C, 'Actualizar')
Conclusión
Ahora debe haberse familiarizado con las diversas estructuras de datos en Python . Esperamos que este artículo le haya resultado útil. Las estructuras de datos juegan un papel importante para ayudarlo a organizar, administrar y acceder a sus datos. Hay un montón de opciones para elegir, y cada una de ellas tiene sus usos particulares.
Si desea obtener más información sobre Python y las estructuras de datos, debería echar un vistazo a nuestros cursos.
Si tiene curiosidad por aprender sobre python, todo sobre ciencia de datos, consulte el Diploma PG en ciencia de datos de IIIT-B y upGrad, creado para profesionales que trabajan y ofrece más de 10 estudios de casos y proyectos, talleres prácticos prácticos, tutoría con la industria. expertos, 1 a 1 con mentores de la industria, más de 400 horas de aprendizaje y asistencia laboral con las mejores empresas.
¿Cuándo se utiliza el tipo de datos del diccionario?
El diccionario se puede definir como un tipo de datos valioso que se usa en Python como una colección de datos que se almacena en los pares de claves y valores. Ahora, los valores del diccionario pueden ser de cualquier tipo de datos, pero las claves deben ser un tipo de datos inmutable como tupla, entero o cadena.
Los diccionarios resultan bastante útiles cuando se desea encontrar un valor al instante sin pasar por toda la colección de datos. Aparte de eso, un diccionario también es muy útil cuando el orden de los datos no es importante. Se prefiere el tipo de datos de diccionario cuando la consideración de la memoria no es un factor importante porque tienden a ocupar más espacio en comparación con las listas y las tuplas.
¿Cuál es la diferencia entre listas y tuplas?
La lista y las tuplas son tipos de datos de secuencia que son útiles para almacenar la colección de datos en Python. La diferencia más significativa entre ambos es que las listas son mutables, mientras que las tuplas son inmutables. Además de eso, la implicación de las iteraciones es mucho más rápida en las tuplas que en las listas.
Si desea realizar operaciones de inserción y eliminación, las listas se lo ponen fácil. Al mismo tiempo, se puede acceder mejor a los elementos en tuplas. Otro factor importante que determina el uso de cualquier estructura de datos es la memoria. Aquí, las listas tienden a consumir más memoria en comparación con las tuplas.
¿En qué se diferencian los conjuntos de las listas?
Las listas se consideran la herramienta más poderosa de Python, ya que no siempre tienen que ser homogéneas. Tanto las listas como los conjuntos pueden contener todo tipo de tipos de datos. Ahora, las listas pueden contener elementos duplicados, pero los conjuntos nunca pueden contener duplicados, y simplemente desaparecerán del conjunto.
El orden de los elementos se mantiene en las listas, pero los conjuntos nunca pueden mantener el orden de los elementos. Como las listas ocupan mucho espacio computacional, terminan tomando una gran cantidad de tiempo. Por otro lado, los conjuntos utilizan hashing para realizar búsquedas y terminan siendo mucho más rápidos que las listas.