0% encontró este documento útil (0 votos)
12 vistas9 páginas

Semana 4

El documento presenta un taller sobre listas y tuplas en Python, explicando su creación, características y operaciones básicas como agregar, eliminar y manipular elementos. Se incluyen ejemplos prácticos y ejercicios para aplicar los conceptos, así como un proyecto de gestión de inventario utilizando funciones y diccionarios. Además, se aborda la comprensión de listas y se proponen ejercicios prácticos para reforzar el aprendizaje.

Cargado por

ROSLAY
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
12 vistas9 páginas

Semana 4

El documento presenta un taller sobre listas y tuplas en Python, explicando su creación, características y operaciones básicas como agregar, eliminar y manipular elementos. Se incluyen ejemplos prácticos y ejercicios para aplicar los conceptos, así como un proyecto de gestión de inventario utilizando funciones y diccionarios. Además, se aborda la comprensión de listas y se proponen ejercicios prácticos para reforzar el aprendizaje.

Cargado por

ROSLAY
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 9

SEMANA 4 ASIGNATURA: Programacion1

Taller Listas y
tuplas AREA: SISTEMAS
DOCENTE: ROSLAY BAUTISTA

Estructuras de Datos en Python: Listas y


Tuplas
1. Introducción a Listas
Las listas en Python son colecciones ordenadas y mutables (modificables) que pueden
almacenar elementos de cualquier tipo.

Creación de listas
python
Copy
# Lista vacía
mi_lista = []

# Lista con elementos


numeros = [1, 2, 3, 4, 5]
mixta = [1, "hola", True, 3.14]

Ejemplos prácticos
python
Copy
# Lista de estudiantes
estudiantes = ["Ana", "Carlos", "Elena", "Pablo"]
print(f"El primer estudiante es {estudiantes[0]}")

# Lista de calificaciones
calificaciones = [9, 7, 10, 8]
promedio = sum(calificaciones) / len(calificaciones)
print(f"Promedio: {promedio}")

2. Introducción a Tuplas
Las tuplas son colecciones ordenadas e inmutables (no modificables) que pueden
almacenar elementos de cualquier tipo.

Creación de tuplas

CLASIF. DE CONFIDENCIALIDAD IPB CLASIF. DE INTEGRIDAD A CLASIF. DE DISPONIBILIDAD 1


SEMANA 4 ASIGNATURA: Programacion1

Taller Listas y
tuplas AREA: SISTEMAS
DOCENTE: ROSLAY BAUTISTA

python
Copy
# Tupla vacía
mi_tupla = ()

# Tupla con elementos


colores = ("rojo", "verde", "azul")
coordenada = (10, 20)

Ejemplos prácticos
python
Copy
# Tupla de días de la semana (no cambian)
dias = ("Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sábado",
"Domingo")
print(f"El fin de semana comienza el {dias[5]}")

# Tupla para representar un punto en coordenadas


punto = (5, 8)
print(f"Coordenada X: {punto[0]}, Coordenada Y: {punto[1]}")

3. Operaciones con Listas


Acceso a elementos (indexación)

Los índices en Python comienzan en 0.

python
Copy
frutas = ["manzana", "naranja", "plátano", "fresa"]
primera_fruta = frutas[0] # "manzana"
ultima_fruta = frutas[-1] # "fresa"

Slicing (obtener sub-listas)


python
Copy
numeros = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

# Obtener elementos del índice 2 al 4 (sin incluir el 5)


sub_lista = numeros[2:5] # [2, 3, 4]

CLASIF. DE CONFIDENCIALIDAD IPB CLASIF. DE INTEGRIDAD A CLASIF. DE DISPONIBILIDAD 1


SEMANA 4 ASIGNATURA: Programacion1

Taller Listas y
tuplas AREA: SISTEMAS
DOCENTE: ROSLAY BAUTISTA

# Desde el inicio hasta el índice 3


primeros = numeros[:4] # [0, 1, 2, 3]

# Desde el índice 7 hasta el final


ultimos = numeros[7:] # [7, 8, 9]

# Cada 2 elementos
saltos = numeros[::2] # [0, 2, 4, 6, 8]

# Invertir una lista


invertida = numeros[::-1] # [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]

Agregar elementos
python
Copy
deportes = ["fútbol", "baloncesto"]

# Agregar al final
deportes.append("tenis") # ["fútbol", "baloncesto", "tenis"]

# Insertar en posición específica


deportes.insert(1, "natación") # ["fútbol", "natación", "baloncesto",
"tenis"]

# Extender con otra lista


mas_deportes = ["voleibol", "ciclismo"]
deportes.extend(mas_deportes) # ["fútbol", "natación", "baloncesto",
"tenis", "voleibol", "ciclismo"]

Eliminar elementos
python
Copy
colores = ["rojo", "verde", "azul", "amarillo", "negro"]

# Eliminar por valor


colores.remove("verde") # ["rojo", "azul", "amarillo", "negro"]

# Eliminar por índice y obtener el elemento eliminado


color_eliminado = colores.pop(1) # color_eliminado = "azul", colores =
["rojo", "amarillo", "negro"]

CLASIF. DE CONFIDENCIALIDAD IPB CLASIF. DE INTEGRIDAD A CLASIF. DE DISPONIBILIDAD 1


SEMANA 4 ASIGNATURA: Programacion1

Taller Listas y
tuplas AREA: SISTEMAS
DOCENTE: ROSLAY BAUTISTA

# Eliminar por índice sin obtener el valor


del colores[0] # colores = ["amarillo", "negro"]

# Limpiar toda la lista


colores.clear() # colores = []

Otras operaciones útiles


python
Copy
numeros = [3, 1, 4, 1, 5, 9, 2]

# Ordenar la lista
numeros.sort() # [1, 1, 2, 3, 4, 5, 9]

# Invertir el orden
numeros.reverse() # [9, 5, 4, 3, 2, 1, 1]

# Contar ocurrencias
cantidad_de_unos = numeros.count(1) # 2

# Encontrar índice
indice_del_cinco = numeros.index(5) # 1

4. Comprensión de Listas
Es una forma concisa y elegante de crear listas basadas en listas existentes.

Sintaxis básica
python
Copy
[expresion for elemento in iterable]

Ejemplos simples
python
Copy
# Lista de cuadrados
numeros = [1, 2, 3, 4, 5]
cuadrados = [x**2 for x in numeros] # [1, 4, 9, 16, 25]

CLASIF. DE CONFIDENCIALIDAD IPB CLASIF. DE INTEGRIDAD A CLASIF. DE DISPONIBILIDAD 1


SEMANA 4 ASIGNATURA: Programacion1

Taller Listas y
tuplas AREA: SISTEMAS
DOCENTE: ROSLAY BAUTISTA

# Lista de letras convertidas a mayúsculas


palabra = "python"
mayusculas = [letra.upper() for letra in palabra] # ['P', 'Y', 'T', 'H',
'O', 'N']

Con condiciones
python
Copy
# Sólo números pares
numeros = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
pares = [x for x in numeros if x % 2 == 0] # [2, 4, 6, 8, 10]

# Sólo frutas que contienen 'a'


frutas = ["manzana", "pera", "uva", "kiwi", "banana"]
frutas_con_a = [fruta for fruta in frutas if "a" in fruta] # ["manzana",
"pera", "banana"]

Múltiples operaciones
python
Copy
# Cuadrados de los números pares
numeros = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
cuadrados_pares = [x**2 for x in numeros if x % 2 == 0] # [4, 16, 36,
64, 100]

# Combinando elementos de dos listas


nombres = ["Ana", "Luis", "Elena"]
apellidos = ["García", "Pérez", "López"]
nombres_completos = [f"{n} {a}" for n, a in zip(nombres, apellidos)]
# ["Ana García", "Luis Pérez", "Elena López"]

5. Proyecto: Sistema de Gestión de Inventario con


Funciones
En lugar de utilizar clases, implementaremos el sistema usando diccionarios y funciones.

Estructura básica del inventario


python
Copy

CLASIF. DE CONFIDENCIALIDAD IPB CLASIF. DE INTEGRIDAD A CLASIF. DE DISPONIBILIDAD 1


SEMANA 4 ASIGNATURA: Programacion1

Taller Listas y
tuplas AREA: SISTEMAS
DOCENTE: ROSLAY BAUTISTA

# Cada producto será un diccionario


def crear_producto(nombre, precio, cantidad):
return {
"nombre": nombre,
"precio": precio,
"cantidad": cantidad
}

# El inventario será una lista de productos


inventario = []

Funciones para gestionar el inventario


python
Copy
def agregar_producto(inventario, nombre, precio, cantidad):
"""Agrega un nuevo producto al inventario"""
producto = crear_producto(nombre, precio, cantidad)
inventario.append(producto)
print(f"Producto '{nombre}' agregado al inventario.")
return inventario

def eliminar_producto(inventario, nombre):


"""Elimina un producto del inventario por su nombre"""
inventario_actualizado = [p for p in inventario if p["nombre"] !=
nombre]
if len(inventario_actualizado) < len(inventario):
print(f"Producto '{nombre}' eliminado del inventario.")
else:
print(f"No se encontró el producto '{nombre}'.")
return inventario_actualizado

def mostrar_inventario(inventario):
"""Muestra todos los productos en el inventario"""
if not inventario:
print("El inventario está vacío.")
return

print("\n--- INVENTARIO ACTUAL ---")


for i, producto in enumerate(inventario, 1):
print(f"{i}. Nombre: {producto['nombre']}, "
f"Precio: ${producto['precio']}, "
f"Cantidad: {producto['cantidad']}")

CLASIF. DE CONFIDENCIALIDAD IPB CLASIF. DE INTEGRIDAD A CLASIF. DE DISPONIBILIDAD 1


SEMANA 4 ASIGNATURA: Programacion1

Taller Listas y
tuplas AREA: SISTEMAS
DOCENTE: ROSLAY BAUTISTA

print("------------------------\n")

def actualizar_cantidad(inventario, nombre, nueva_cantidad):


"""Actualiza la cantidad de un producto en el inventario"""
for producto in inventario:
if producto["nombre"] == nombre:
producto["cantidad"] = nueva_cantidad
print(f"Cantidad de '{nombre}' actualizada a
{nueva_cantidad}.")
return inventario
print(f"No se encontró el producto '{nombre}'.")
return inventario

Ejemplo de uso del sistema


python
Copy
# Crear inventario vacío
mi_inventario = []

# Agregar productos
mi_inventario = agregar_producto(mi_inventario, "Camiseta", 15.99, 10)
mi_inventario = agregar_producto(mi_inventario, "Pantalón", 29.99, 5)
mi_inventario = agregar_producto(mi_inventario, "Zapatos", 49.99, 3)

# Mostrar inventario
mostrar_inventario(mi_inventario)

# Actualizar cantidad
mi_inventario = actualizar_cantidad(mi_inventario, "Camiseta", 15)

# Mostrar inventario actualizado


mostrar_inventario(mi_inventario)

# Eliminar un producto
mi_inventario = eliminar_producto(mi_inventario, "Zapatos")

# Mostrar inventario final


mostrar_inventario(mi_inventario)

6. Ejercicios Prácticos

CLASIF. DE CONFIDENCIALIDAD IPB CLASIF. DE INTEGRIDAD A CLASIF. DE DISPONIBILIDAD 1


SEMANA 4 ASIGNATURA: Programacion1

Taller Listas y
tuplas AREA: SISTEMAS
DOCENTE: ROSLAY BAUTISTA

Ejercicio 1: Crear y manipular listas

Crea una lista con los números del 1 al 10 y luego muestra solo los números pares.

python
Copy
numeros = list(range(1, 11))
pares = [x for x in numeros if x % 2 == 0]
print(pares) # [2, 4, 6, 8, 10]

Ejercicio 2: Trabajar con tuplas

Crea una tupla con los meses del año y muestra los meses del segundo trimestre.

python
Copy
meses = ("Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio",
"Julio", "Agosto", "Septiembre", "Octubre", "Noviembre",
"Diciembre")
segundo_trimestre = meses[3:6]
print(segundo_trimestre) # ("Abril", "Mayo", "Junio")

Ejercicio 3: Comprensión de listas

Crea una lista con palabras y usa comprensión de listas para obtener solo aquellas que
tengan más de 4 letras.

python
Copy
palabras = ["casa", "automóvil", "perro", "sol", "universidad", "paz"]
palabras_largas = [palabra for palabra in palabras if len(palabra) > 4]
print(palabras_largas) # ["automóvil", "universidad"]

Ejercicio 4: Manipulación de inventario

Crea un pequeño inventario y agrega, actualiza y elimina productos.

python
Copy
# Crear inventario
inventario = []

# Agregar productos

CLASIF. DE CONFIDENCIALIDAD IPB CLASIF. DE INTEGRIDAD A CLASIF. DE DISPONIBILIDAD 1


SEMANA 4 ASIGNATURA: Programacion1

Taller Listas y
tuplas AREA: SISTEMAS
DOCENTE: ROSLAY BAUTISTA

inventario = agregar_producto(inventario, "Mouse", 9.99, 15)


inventario = agregar_producto(inventario, "Teclado", 19.99, 10)
inventario = agregar_producto(inventario, "Monitor", 129.99, 5)

# Mostrar inventario
mostrar_inventario(inventario)

# Actualizar y eliminar
inventario = actualizar_cantidad(inventario, "Mouse", 20)
inventario = eliminar_producto(inventario, "Teclado")

# Mostrar inventario final


mostrar_inventario(inventario)

Ejercicio 5: Operaciones con listas

Crea dos listas y combínalas de diferentes maneras.

python
Copy
frutas = ["manzana", "naranja", "plátano"]
verduras = ["zanahoria", "espinaca", "brócoli"]

# Combinación simple
alimentos = frutas + verduras
print(alimentos) # ["manzana", "naranja", "plátano", "zanahoria",
"espinaca", "brócoli"]

# Combinación con comprensión de listas


pares = [(fruta, verdura) for fruta in frutas for verdura in verduras]
print(pares) # [("manzana", "zanahoria"), ("manzana", "espinaca"), ...]

CLASIF. DE CONFIDENCIALIDAD IPB CLASIF. DE INTEGRIDAD A CLASIF. DE DISPONIBILIDAD 1

También podría gustarte