Christian Molina Vázquez
Jose Manuel Acevo Garcia
Manuel G. Pineda
¿Cuáles son las principales colecciones en Python y sus características?
Cuando hablamos de manipular datos en Python, las colecciones juegan un papel crucial. Las listas, tuplas, conjuntos y diccionarios son las estructuras de datos más fundamentales y ofrecen variadas funcionalidades. A continuación, profundizaremos en cada una, explorando sus particularidades y casos de uso específicos.
¿Qué son las listas en Python?
Las listas son quizás la estructura de colección más versátil y usada en Python.
sort, adaptándose a diversos algoritmos dependiendo del problema a resolver.list() o las comprensiones para crear y poblar listas de manera condicional e iterativa.Ejemplo de declaración de lista:
frutas = ['manzana', 'banana', 'cereza']
¿Qué son las tuplas y por qué son útiles?
Las tuplas son una variante inmutable de las listas, útiles en contextos donde los datos no deben cambiar.
mi_tupla = (1, 2, 3), o incluso omitir estos y separarlas solo con comas.¿Qué son los conjuntos en Python y para qué se utilizan?
Los conjuntos o sets almacenan elementos únicos y ofrecen operaciones matemáticas rápidas.
Ejemplo de creación de conjunto:
ingredientes = {'carne', 'tortillas', 'salsa'}
¿Cómo funcionan los diccionarios en Python?
Los diccionarios son colecciones que almacenan pares de llave-valor, permitiendo un acceso rápido a los elementos.
{}, y pueden ser poblados con declaraciones directas.Ejemplo de diccionario:
edad_personas = {'Héctor': 31, 'Ana': 22}
¿Cómo participar y reforzar conocimientos?
Como parte de tu aprendizaje, es útil aplicar los conceptos en ejemplos prácticos. Te invitamos a compartir:
Explorar distintas aplicaciones es clave para integrar conocimientos y convertirte en un experto en Python. Sigue aprendiendo, corriendo riesgos y experimentando con los retos que te ofrecen estas estructuras de datos. ¡Hay un mundo de posibilidades esperando ser descubierto!
Christian Molina Vázquez
Jose Manuel Acevo Garcia
Manuel G. Pineda
Alejandro Giraldo Londoño
Junior Peves
Eduardo Rafael Romero Bernal
Leslie Paz Ore
Sara María Mejia Sánchez
Salvador
Luan de Souza
Christian Molina Vázquez
Miguel Hernández
Omar Daniel Centeno
Juan Agustin Di Pasquo
Germán García
Michelle Duque De La Rosa
Zaidibeth Ramos
Joel Orellana
Carlos Tomás
Pablo .
Christian Molina Vázquez
Bayron Danilo Ortiz Foronda
Nicolas Alpargatero
Germán García
Andrea Rodriguez Ospina
Juan Antonio Aramburo Pasapera
Angie Santos
Mauricio Escobar
José Joaquín Tripp Gudiño
Anelys Montaño
David Rangel
Andrés Ochoa
Es muy importante saber cuando usar una cierta colección, ya que de ello depende tanto el tamaño que ocupará en memoría como la velocidad en ciertas tareas. De forma general es recomendable usar tuplas en lugar de listas siempre que no se requiera estar cambiando los valores, ya que ocupan menos espacio en memoría. Así como usar sets o diccionarios para busqueda de un elemento, ya que son más rapidos.
Les comparto un código de cuanto pesan las diferentes estructuras de python
import sys colecciones = {"list": list(), "tuple": tuple(), "dict": dict(), "set": set()} for name, value in colecciones.items(): print(f'{name} = {sys.getsizeof(value)} bytes')
list = 56 bytes tuple = 40 bytes dict = 232 bytes set = 216 bytes
Muchísimas gracias.
Buen aporte!
Resumen: ■■■■■■■
Colecciones Incorporadas en Python
lista =[].tupla =()set() conjunto={1,2,3,4}diccionario ={'Llave':"Valor"}dataframe, o un defaultdictTu aporte es de lo mejor, gracias.
¿Existirá un método lúdico y nemotécnico para recordar todas estas características?
Lista: Listas para organizar las responsabilidades del día. Tupla: Almacenar el Documento de Identidad del cliente. Sets: Cursos que voy llevando. Diccionario: Glosario con los nuevos términos que voy aprendiendo.
Excelentes ejemplos de uso!
Lo utilizaría para un negocio de comida Listas: para los pedidos de comida, que platillo se necesita preparar Tuplas: Para el tipo de alimentos que se preparan (postres, sopas, guarniciones, ensaladas, bebidas, etc..) Conjuntos / Sets: Para colocar las colonias donde brindas servicio a domicilio Diccionarios: Para colocar el precio de los alimentos que se venden
Muy buen razonamiento y bien aplicado.
Comó dato curioso: A partir de la versión de python 3.7 los diccionarios ya estan ordenados. Lo que significa que al agregar un nuevo item, se colocará al final.
Buen aporte :D
Las colecciones más utilizadas, son iterables
. He visto hasta el momento que las listas seguidas de los diccionarios se llevan de calle a las otras dos colecciones.
Los sets hasta el final, casi no los he visto aplicados y en muchos videos ni se mencionan. Es bueno tenerlos aquí representados. Son bastante útiles para obtener valores individuales de listas con valores duplicados. Otros casos de uso.
demo_set = {1,2,3,4,5} print(2 in demo_set) print('a' in demo_set) -------------------------------------------------------------------- True False
Puedes hacer unión e intersección de sets:
# Unión set_a = {1,2,3} set_b = {3,4,5} set_c = set_a.union(set_b) #OR set_c = set_a | set_b print(set_c) -------------------------------------------------------------------- {1,2,3,4,5} # Intersección set_a = {1,2,3} set_b = {3,4,5} set_c = set_a.intersection(set_b) #OR set_c = set_a & set_b print(set_c) -------------------------------------------------------------------- {3}
Excelente aporte sobre los sets. Gracias por compartirlo😁
me imagino que en clases de probabiliddad y estadisticas se usan mucho los sets (conjuntos)
Los diccionarios en python solían ser desordenados hasta la version 3.7. A partir de allí empezaron a ser colecciones ordenadas. Referencias: https://www.techiedelight.com/es/sort-dictionary-by-key-python/
tengo ganas de tacos al pastorrr
Listas = Lista del super
Tuplas = Coordenadas de un lugar destino
Sets = Certificados de platzi
Diccionarios = Consultar que profesor imparte un curso específico
Para inicializar un conjunto (creará conjunto vacío) usar la funcionalidad set(), no con {} (esto es para crear inicializar diccionarios)
No es posible ingresar por índices porque no tiene orden.
. Puedes revisar la documentación sobre SETS
lol = {1,2,3,4,5,6} print(type(lol))
<class 'set'>
Así es, si se inicializa un conjunto vacío con el par de llaves {}, obtienes un diccionario vacío. Buen aporte.
Reto
Listas:
Tuplas:
Conjuntos:
Diccionarios:
déjame adivinar ChatGPT???
En un sitio dedicado a libros usando como ejemplo la saga literaria: Narnia de Lewis, usaría: _ Tuplas para definir el nombre de la saga y el autor, datos inmutables.
saga_info = ('Narnia','C.S.S Lewis')
Diccionarios para almacenar la información de cada libro de la saga (Varían):
libro_info = {'titulo':"El sobrino del mago", 'paginas':304, 'libro-numero':1, 'fecha_publicacion':"1955", 'edicion':4}
Sets para almacenar las diferentes editoriales (Varían pero no se repiten):
editoriales_libro = {"Alfaguara", "Minotauro"}
Listas para las etiquetas de categoría (Porque se podrían agregar más):
etiquetas = ["Ficción", "Fantasía"]
Algunas cosas para las que usaría un
Las listas son para cosas que tienen mucho movimiento, cambian y necesita mantenerse la independencia.
Las tuplas son para cosas más estáticas.
Los sets es para mantener registros únicos y comparaciones lógicas
Los diccionarios para tener datos asociados
En ese orden de ideas, voy a pensarlo en el cuidado de las plantas.
Los diccionarios los puedo usar para agrupar bajo tipos de plantas: {'arboles': {'pino', 'guayacan'}} -> y utilizo los sets para mantener las especies únicas. En las tuplas podemos almacenar cosas que son fijas para estas plantas: intensidad de riego, iluminación, temperatura recomendada y por último, en las listas podemos registrar el crecimiento de la planta cada cierto tiempo, [20, 25, 30] -> podemos mantener un registro constante de los últimos 6 meses, borrando los registros después de que se haya pasado el limite.
Oigan. Una duda respecto a si los diccionarios están desordenados. En serio lo están? Según tengo entendido al agregar un ítem, estos conservarían el orden de inserción de sus elementos. También podríamos usar sorted(diccionario.items()) que si bien el output es una lista de tuplas, lo podemos volver a convertir en un diccionario dict(sorted(diccionario.items()))
algo así:
dict_1= {'c': 3, 'b': 2, 'a': 1} dict_ordenado = dict(sorted(dict_1.items())) dict_ordenado # Salida: {'a': 1, 'b': 2, 'c': 3}
Comparto casos prácticos en donde he utilizado cada una de las colecciones de python en procesamiento de datos de Salud:
😄
no es como tal lo que pidió el profe, pero recuerdo que sufriiiii mucho, cuando tuve el reto de convertir unos arrays en diccionarios
### ¿En qué casos usuarías cada estrcutura? ¿Qué tipo de información guardarías?
a. Listas: para una tienda en linea, para poder tener un control de los distintos tipos de producto, meteria listas que contengan strings para el nombre, codigo de barras, numeros para los precios y boleanos para saber si esta disponible o no el producto.
b. Tuplas: para la misma tienda en linea, para clasificar en secciones los diferentes productos, donde se definen de forma anticipada los tipos de productos que se venderan como estrategia de negocio y se supone que no cambiaran en el corto ni mediano plazo, en este caso serian puros strings y las categorias podrian ser, para una tienda en linea de productos deportivos: calzado, accesorios, conjuntos de ropa, pants, jerseys, shorts, etc.
c. Conjuntos o sets: para el carrito de compras en la tienda de ropa deportiva en el que en la mayor parte de los casos solo compraras un tipo de producto en especifico, quieres evitar duplicados al momento de hacer la transaccion de venta, y este tipo de estructuras puede ser un buen candado para evitar compras duplicadas, podrias ser por sku para ventas a individuos, en el caso de ventas a otras empresas o asociaciones deportivas, se podria vender con skus repetidos.
d. Diccionarios: para la tienda de articulos deportivos, lo usaria para guardar la informacion de cada usuario, como su nombre (strings), direccion (strings), edad(number), etc.
Lista: un check-list, evidentemente. Tupla: Documentos de identidad de usuarios registrados. Conjuntos: Bases de datos de usuarios. Diccionarios: gestión de archivo config dentro de un proyecto, por ejemplo.