Apoyo Lectura - Estructuras de Datos

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 38

Estructuras de datos _

Listas

Contenedores que permiten almacenar un conjunto de datos en una misma variable. Pueden ser
datos de el mismo o de distinto tipo.
Funciones de listas (doc)

● list.append(x): Agrega un elemento al final de la lista.

● list.insert(i, x): Inserta un elemento en la lista en la posición indicada.

● list.remove(x): Elimina de la lista la primera ocurrencia del elemento indicado.

● list.pop([i]): Saca el último elemento de la lista, o el del índice indicado, y lo retorna.

● list.sort(key=None, reverse=False): Ordena los elementos de la lista ascendentemente.

● list.reverse(): Revierte el orden de los elementos de la lista.


Desafío - Funciones de listas
pizza.py
Paso 1: Definir ingredientes base
Paso 2: Definir ciclo while y opciones
Paso 3: Opción 1 - Mostrar ingredientes
Paso 4: Opción 2 - Definir flujo de acción
Paso 5: Opción 2 - Caso 1: Flujo
Paso 6: Opción 2 - Caso 2: Flujo
Paso 7: Opción 2 - Caso 3: Flujo
Paso 8: Opción 2 - Caso 4: Flujo
Paso 9: Opción 2 - Caso 5: Flujo
Sugerencias de mejoras

1. Validaciones para que dentro de las opciones principales solo se escojan de la 1 a la 6.

2. Validaciones para que dentro de las opciones que lo requieran, solo se ingresen los campos
permitidos.

3. Agregar más mensajes de print para ayudar en el flujo al usuario.

4. Replicar lógica de las masas con la salsa (salsa de tomate o salsa BBQ).
5. Crear otra lista con los “ingredientes base”, y utilizar esta lista para mostrar los ingredientes
disponibles, y validar la entrada del usuario.

6. Consultar por agregar o eliminar ingredientes continuamente (sin tener que volver al menú
principal) hasta que el usuario indique que ya no desea hacer modificaciones.

7. Contar la frecuencia de cada ingrediente.

8. Ordenar los ingredientes alfabéticamente, omitiendo la masa y la salsa que deben salir al
comienzo.

9. Omitir masa y salsa en la lista de ingredientes para eliminar.

10. Asignar un precio a cada ingrediente y calcular el valor final de la pizza, y mostrarlo al escoger
la opción “ordenar”.
Desafío - Transformaciones y filtros
tienda.py
Lista de artículos
artículos = [“celular”, “LG K10”, “90000”, “tablet, “Galaxy TAB”, “80000”, “smart tv”, “LED 43
Samsung”, “485000”, “celular”, “Galaxy J7”, “120000”, “celular”, “Huawei Y5”, “59900”, “notebook”,
“Lenovo ideapad”, “250000”, “tablet”, “Huawei media”, “139000”, “notebook”, “Acer”, “145000”]

Objetivos
● Separar los precios en listas diferentes según categorías.
● Aplicar el descuento de 10% a los artículos correspondientes
(que no sean notebooks, y que su precio sea mayor a $80.000)
Paso 1: Definir variables de inicio
Paso 2: Definir loop
Paso 3: Definir categoría de artículo y precios
Paso 4: Almacenar categoría en variable auxiliar
Paso 5: Almacenar precio final según requerimiento
Paso 6: Almacenar precio en lista correspondiente
Paso 7: Ordenar precios de mayor a menor
Código completo
Operaciones funcionales en listas

● Son otra forma para filtrar, transformar y reducir datos

● Su sintaxis es más simple y resumida que la de un ciclo for

● Las más utilizadas son map, filter y reduce


Pandas
Pandas

● Librería orientada a la manipulación y limpieza de estructuras de datos, que nos permite


trabajar fácilmente con tablas de datos.

● Combina el alto desempeño de operaciones vectorizadas de numpy con las manipulaciones


flexibles de hojas de cálculo y bases de datos relacionales.

● Muy utilizada en la comunidad.

● Se añade como “import pandas as pd”.


DataFrame a partir de csv

● Se utiliza función “read_csv”.

● “read_csv” retorna una estructura de datos “DataFrame”, que corresponde a una matriz con
filas y columnas.

● “read_csv” recibe como parámetro un string con la ruta del archivo.


Serie

● Fila o columna de datos del DataFrame.

● Conjunto de asociaciones llave:valor.

● En el caso de una Serie como columna del dataframe, la llave de cada elemento será el índice
de la fila.

● Se accede a una serie como columna del DataFrame escribiendo el nombre de la columna
entre comillas dentro de paréntesis de corchetes.
Numpy
¿Qué nos permite?

● Crear listas o arreglos n-dimensionales, que facilitarán el trabajo aritmético.

● Utilizar funciones matemáticas de rápida velocidad, sin la necesidad de usar loops.

● Trabajar con álgebra lineal.

● Generar números pseudoaleatorios.

● Utilizar funciones distributivas.


Funciones que generan ndarrays
● np.asarray: Convierte inputs sólo si éstos no son ndarray.

● np.arange: Genera un rango de manera similar a la implementación nativa de range(),


devolviendo una lista en formato ndarray.

● np.ones, np.ones_like: Generan arrays poblados de 1 con las dimensiones especificadas.


np.ones_like toma como referencia las dimensiones y tipo de dato de otro objeto.

● np.zeros, np.zeros_like: Generan arrays poblados de 0 con las dimensiones especificadas.


np.zeros_like toma como referencia las dimensiones y tipo de dato de otro objeto.

● np.empty, np.empty_like: Generan arrais poblados mediante la asignación de memoria, pero


no completa los arrays con elementos.

● np.full, np.full_like: Produce un array con determinadas dimensiones y tipo de dato,


rellenadas con un valor determinado.
Array n-dimensional
matriz = np.array([[0, 1, 2], [3, 4, 5], [6, 7, 8]])

0 1 2 Fila 0

3 4 5 Fila 1

6 7 8 Fila 2

Col 0 Col 1 Col 2


array_3d = np.array([ [ [0, 1, 2, 4], [4, 6, 7, 8] ], [ [9, 10, 11, 12],
[13, 14, 15, 16] ], [ [17, 18, 19, 20], [21, 22, 23, 24] ], [ [25, 26,
27, 28], [29, 30, 31, 32] ] ])

Fila 0

Fila 1

Fila 2

Col 0 Fila 3
Col 1

E0 E1 E2 E3
[ ]: 4 Filas, primera dimensión
[ ]: 2 Columnas por fila, segunda dimensión
26: 4 elementos dentro de cada columna dentro de cada fila, tercera dimensión
www.desafiolatam.com

También podría gustarte