0% encontró este documento útil (0 votos)
11 vistas24 páginas

Introduccion A Python - (Listas, Pilas y Colas)

El documento presenta un curso introductorio sobre el lenguaje de programación Python, centrado en estructuras de datos para la toma de decisiones. Se abordan temas como la instalación de Python, fundamentos del lenguaje, tipos de datos, y el uso de bibliotecas para análisis y visualización de datos. Además, se discuten los pasos en el proceso de ciencia de datos, incluyendo recolección, limpieza, exploración, modelado y visualización de datos.

Cargado por

miwefa8912
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)
11 vistas24 páginas

Introduccion A Python - (Listas, Pilas y Colas)

El documento presenta un curso introductorio sobre el lenguaje de programación Python, centrado en estructuras de datos para la toma de decisiones. Se abordan temas como la instalación de Python, fundamentos del lenguaje, tipos de datos, y el uso de bibliotecas para análisis y visualización de datos. Además, se discuten los pasos en el proceso de ciencia de datos, incluyendo recolección, limpieza, exploración, modelado y visualización de datos.

Cargado por

miwefa8912
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/ 24

I.

CONTENIDOS TEMATICOS

Introducir al estudiante en el lenguaje de programación Python enfocado en las estructuras de datos con el
Objetivo General
objetivo de depurar extraer y visualizar datos para el proceso de toma de decisiones.

1. Introducción
2. Descarga e instalación de Python
3. Fundamentos básicos
3.1. Compilado vs. interpretado
3.2. Origen de Python
4. El lenguaje como tal
4.1. Mi primer programa
4.2. Directivas básicas
5. Operadores
6. Tipos de datos
7. Entrada de datos por teclado
Contenidos Temáticos
8. Listas o arreglos en Python
8.1. Como acceder a los contenidos de la lista
8.2. Agregar elementos a la lista con los métodos append() e insert()
8.3. Eliminar elementos de la lista con los métodos remove(), pop() y del()
9. Pilas en Python
9.1. Las pilas y sus métodos
9.2. Ejemplos sencillos
10. Colas en Python
10.1. Las colas y sus métodos
10.2. Colas usando el método collections.deque
10.3. Ejemplos sencillos

Joyanes Aguilar, L. (2013). Big Data, análisis de grandes volúmenes de datos en organizaciones. México D.F.
Alfaomega.
Viktor Mayer-Schönberg y Kenneth Cukier (2013). Big Data la revolución de los datos masivos. Noema
Recursos educativos en publicaciones.
español Paniagua Esther (2015). Big Data el poder de los datos. Madrid. Fundación innovación Bankinter.
Casas Roma, Jordi (2019). Big data: análisis de datos en entornos masivos. Barcelona: Editorial UOC.
Video: https://www.youtube.com/watch?v=lc5JJTQa4r8 -¿Qué es Python y para que sirve?
Guía de clase (Suministrada por el docente).

• Analisis de datos.Net. (04 de 10 de 2021). Obtenido de


https://analisisdedatos.net/bigData/eco/hadoop.php

• Cognodata. (30 de 10 de 2018). Obtenido de https://www.cognodata.com/blog/tecnicas-analisis-


datos-era-big-data/
Referencias bibliográficas
• ekon. (01 de 10 de 2021). Obtenido de https://www.ekon.es/datos-o-informacion-las-herramientas-
analiticas/

• Hernandez, F. (18 de 03 de 2021). Modelos predictivos. Obtenido de


https://fhernanb.github.io/libro_mod_pred/index.html#software-y-convenciones

• Netacad.com. (14 de 10 de 2021). Obtenido de https://www.netacad.com/

Ms.C William Ruiz Martinez


• sitiobigdata.com. (16 de 10 de 2021). Obtenido de https://sitiobigdata.com/2020/01/16/python-para-
ciencia-de-datos/

Ms.C William Ruiz Martinez


Desarrollo
1. Introducción
De acuerdo con (sitiobigdata.com, 2021), los científicos de datos necesitan lidiar con problemas complejos, y el proceso de
resolución de problemas básicamente involucra cuatro pasos principales: recolección y limpieza de datos, exploración de
datos, modelado de datos y visualización de datos.

Python para ciencia de datos les proporciona todas las herramientas necesarias para llevar a cabo este proceso de manera
efectiva con bibliotecas dedicadas para cada uno de los pasos anteriores. Este lenguaje cuenta con poderosas bibliotecas
estadísticas y numéricas como Pandas, Numpy, Matplotlib, SciPy, scikit-learn, etc. y bibliotecas avanzadas de aprendizaje
profundo como Tensorflow, PyBrain, etc.

Además, Python ha surgido como el idioma predeterminado para la inteligencia artificial y el aprendizaje de máquina. Por
lo tanto, no es sorprendente que este lenguaje versátil sea el lenguaje de programación más utilizado entre los científicos
de datos. Este lenguaje de programación de alto nivel basado en intérpretes no solo es fácil de usar, sino que también
equipa a los científicos de datos para implementar soluciones y, al mismo tiempo, siga los estándares de los algoritmos
requeridos.
Ahora, echemos un vistazo a los pasos involucrados en el proceso de resolución de problemas de ciencia de datos y
paquetes de Python para minería de datos que debería ser una parte indispensable de su caja de herramientas como
científico de datos:

1. Recopilación y limpieza de datos: Con Python, se pueden importar casi todo tipo de datos que estén disponibles
en diferentes formatos, como CSV (valor separado por comas), TSV (valor separado por tabulaciones) o JSON
procedentes de la web. Si quiere importa tablas SQL directamente a su código o necesita indagar en cualquier
sitio web, Python lo ayuda a realizar estas tareas fácilmente con bibliotecas como: PyMySQL y BeautifulSoup. El
primero le permite conectarse fácilmente con una base de datos MySQL para ejecutar consultas y extraer datos,
mientras que el segundo le ayuda a leer datos de tipo XML y HTML. Después de extraer y reemplazar valores,
también necesitaría ocuparse de los conjuntos de datos faltantes durante la fase de limpieza de datos y reemplazar
los no valores en consecuencia.

2. Exploración de datos: Una vez que sus datos están recopilados y limpios, estos deben ser explorados para
identificar sus propiedades y clasificarlos en diferentes tipos, como numéricos, ordinal, nominal, categórica, etc.,
para proporcionarles los tratamientos requeridos. Una vez que los datos se clasifican según su
tipo, NumPy y Pandas estas bibliotecas lo ayudarán a liberar información de los datos al permitirle manipularlos
de manera fácil y eficiente.

3. Modelado de datos: Esta es una fase muy crucial en el proceso de ciencia de datos en la que se esforzaría por
minimizar la dimensionalidad de su conjunto de datos. Python para ciencia de datos cuenta con bibliotecas
avanzadas como SciPy para realizar fácilmente cálculos y cálculos científicos, Scikit-learn para aplicar algoritmos
de aprendizaje automático a sus datos sin ninguna complejidad y Numpy para realizar un análisis de modelado
numérico de sus datos. Una vez finalizado el modelado de datos, necesitaría visualizar e interpretar datos para
obtener información procesable.

4. Visualización e interpretación de datos: Python tiene muchos paquetes de visualización de datos. Matplotlib es
la biblioteca más utilizada entre ellas para generar gráficos y cuadros básicos. En caso de que necesite gráficos
avanzados bellamente diseñados, también puede probar otra biblioteca de Python, Plotly.

Otra biblioteca de Python, IPython lo ayuda con la visualización interactiva de datos y admite el uso de un kit de
herramientas GUI. Si desea insertar sus hallazgos en páginas web interactivas, la función nbconvert puede
ayudarlo a convertir sus cuadernos IPython o Jupyter en fragmentos HTML enriquecidos.

Después de la visualización de datos, la presentación de sus datos es de suma importancia. Y debe hacerse de tal
manera que los hallazgos sean impulsados por las preguntas de su negocio que hizo al comienzo de su proyecto.

Ms.C William Ruiz Martinez


Ahora que entrega la respuesta a las preguntas del negocio junto con información procesable. Intente tenga en
cuenta que sus interpretaciones parecen útiles para las partes interesadas de su organización.

2. Como trabajar en Python

Para descargar e instalar el lenguaje de programación Python tenemos varias posibilidades, veamos:

1. Descargar Python Básico: Este tipo de instalación


nos permite descargar Python en su versión básica:
https://www.python.org/downloads/

2. Descargar Python con Anaconda: En este tipo de


instalación se descarga un entorno completo de Python para
trabajar ciencia de datos y que nos facilitará la tarea de instalar el
ambiente e incluirá las Jupyter Notebooks, que es una aplicación
que nos ayudará a hacer ejercicios paso a paso en Machine
Learning, crear visualizaciones de datos y escribir comentarios
como si se tratase de un cuaderno de notas del colegio o la
universidad. https://www.anaconda.com/products/individual

3. Trabajar Python en linea:


Definitivamente es una de la formas más
fáciles y sencillas de trabajar Python, para ello
Google cuenta con repositorio denominado
Colab, donde simplemente con tener asociada
una cuenta puede tener acceso a dicho
repositorio y entorno de trabajo, todo en uno.
Para ingresar nos dirigimos a la siguiente URL:
https://colab.google/ y damos clic en Iniciar
sesión y nos vinculamos con una cuenta que
tengamos en Google. Se le dará la bienvenida
a la herramienta y se presentan una serie de tutoriales para conocer el ambiente de trabajo, recordemos que en
Colab podemos almacenar los notebooks o cuadernos de trabajo y así mismo contamos con el entorno de
ejecución en Python.

Ms.C William Ruiz Martinez


3. Fundamentos básicos

3.1. Compilado vs. interpretado

De acuerdo con (Netacad.com, 2021), Hay dos formas diferentes de transformar un programa de un lenguaje de
programación de alto nivel a un lenguaje de máquina:

• COMPILACIÓN - El programa fuente se traduce una vez (sin embargo, esta ley debe repetirse cada vez que se
modifique el código fuente) obteniendo un archivo (por ejemplo, un archivo .exe si el código está diseñado para
ejecutarse en MS Windows) que contiene el código de la máquina; ahora puedes distribuir el archivo en todo el mundo;
el programa que realiza esta traducción se llama compilador o traductor.

• INTERPRETACIÓN - Tú (o cualquier usuario del código) puedes traducir el programa fuente cada vez que se ejecute;
el programa que realiza este tipo de transformación se denomina intérprete, ya que interpreta el código cada vez que
está destinado a ejecutarse; también significa que no puede distribuir el código fuente tal como está, porque el usuario
final también necesita que el intérprete lo ejecute.

Figura 1- Compilación vs. Interpretación

• Python es un lenguaje interpretado. Esto significa que hereda todas las ventajas y desventajas descritas. Por supuesto,
agrega algunas de sus características únicas a ambos conjuntos.
• Si deseas programar en Python, necesitarás el intérprete de Python. No podrás ejecutar tu código sin él.
Afortunadamente, Python es gratis. Esta es una de sus ventajas más importantes.

3.2. Origen de Python


Según (Netacad.com, 2021), Python es un lenguaje de programación de alto nivel, interpretado, orientado a objetos y de
uso generalizado con semántica dinámica, que se utiliza para la programación de propósito general.

Y aunque puede que conozcas a la pitón como una gran serpiente, el nombre del lenguaje de programación Python
proviene de una vieja serie de comedia de la BBC llamada Monty Python's Flying Circus. Dado que Monty Python es
considerado uno de los dos nutrientes fundamentales para un programador (el otro es la pizza), el creador de Python
nombró el lenguaje en honor del programa de televisión.

Una de las características sorprendentes de Python es el hecho de que en realidad es el trabajo de una persona. Por lo
general, los grandes lenguajes de programación son desarrollados y publicados por grandes compañías que emplean a
muchos profesionales, y debido a las normas de derechos de autor, es muy difícil nombrar a cualquiera de las personas
involucradas en el proyecto. Python es una excepción.

No hay muchos idiomas cuyos autores son conocidos por su nombre. Python fue creado por Guido van Rossum, nacido
en 1956 en Haarlem, Países Bajos. Por supuesto, Guido van Rossum no desarrolló y evolucionó todos los componentes de
Python.
La velocidad con la que Python se ha extendido por todo el mundo es el resultado del trabajo continuo de miles de (muy
a menudo anónimos) programadores, evaluadores, usuarios (muchos de ellos no son especialistas en TI) y entusiastas, pero
hay que decir que la primera idea (la semilla de la que brotó Python) llegó a una cabeza: la de Guido.

Ms.C William Ruiz Martinez


¿Dónde podemos ver a Python en acción?
Lo vemos todos los días y en casi todas partes. Se utiliza ampliamente para implementar complejos servicios de
Internet como motores de búsqueda, almacenamiento en la nube y herramientas, redes sociales, etc. Cuando utilizas
cualquiera de estos servicios, en realidad estás muy cerca de Python.

Muchas herramientas de desarrollo se implementan en Python. Cada vez se escriben más aplicaciones de uso diario en
Python. Muchos científicos han abandonado las costosas herramientas patentadas y se han cambiado a Python.
Muchos evaluadores de proyectos de TI han comenzado a usar Python para llevar a cabo procedimientos de prueba
repetibles. La lista es larga.

4. El lenguaje como tal

4.1. Mi primer programa

Paso 1. Vamos a crear un nuevo espacio de trabajo o mas bien un nuevo Notebook. Nos dirigimos a Archivo >>
Cuaderno nuevo en drive, visualizamos lo sgte:

Nos posicionamos sobre Untitled y le damos un nombre al notebook, por ej. MiprimerNotebook, notemos la extensión del
documento .ipynb es decir extensión de un cuaderno de trabajo.

Paso 2. En el Notebook contamos con la posibilidad de ingresar código en Python, pero también podemos documentar
nuestros desarrollos, veamos:

Si queremos colocar Texto, solo damos clic en el +, tengamos en cuenta los comentarios en Python:

Paso 3. Vamos a dar nuestros primeros pasos en Python, el famoso programa “Hola Mundo”

Y damos clic en el botón

Otro ejemplo, ya con variables

Ms.C William Ruiz Martinez


4.2. Directivas básicas

• Print: Es una función utilizada para imprimir contenido.

Como se puede ver, la cadena está delimitada por comillas - de hecho, las comillas forman la cadena, recortan una parte
del código y le asignan un significado diferente.
La barra invertida (\) tiene un significado muy especial cuando se usa dentro de las cadenas, es llamado el carácter de
escape.

Ejemplo

El argumento de palabra clave que funciona como separados se denomina sep.

Ejemplo

print("Mi", "nombre", "es", "Monty", "Python.", sep="-")

• Comentarios

#Este es un comentario de una linea

"""
Este es

un comentario

de varias líneas

"""
• Variables: Son datos que cambian o toman otro valor durante la ejecución de un programa.

Reglas de las variables


• El nombre de la variable debe de estar compuesto por MAYUSCULAS, minúsculas, dígitos, y el carácter _ (guion
bajo).
• El nombre de la variable debe comenzar con una letra.
• El carácter guion bajo es considerado una letra.
• Las mayúsculas y minúsculas se tratan de forma distinta (un poco diferente que en el mundo real
- Alicia y ALICIA son el mismo nombre, pero en Python son dos nombres de variable distintos, subsecuentemente,
son dos variables diferentes).
• El nombre de las variables no pueden ser igual a alguna de las palabras reservadas de Python

Ms.C William Ruiz Martinez


Ejemplos

Ms.C William Ruiz Martinez


5. Operadores

Operador Funcionalidad Ejemplo

Suma El símbolo del operador de suma es el + (signo de print (-4 + 4)


más).
print (-4. + 8)

Resta El símbolo del operador de resta es el - (signo de print (4-6)


más).

Exponente Un signo de ** (doble asterisco) es un operador print(2 ** 3)


de exponenciación (potencia). El argumento a la
izquierda es la base, el de la derecha, el exponente.

Multiplicación Un símbolo de * (asterisco) es un operador print (2 * 3)


de multiplicación.

División Un símbolo de / (diagonal) es un operador print (6 / 3)


de división
print (6 / 3.)

Un símbolo de // (doble diagonal) es un operador


División entera print (6 // 4)
de división entera. Difiere del operador estándar / en
dos detalles: print (6 // 3.)

• El resultado carece de la parte fraccionaria, está


ausente (para los enteros), o siempre es igual a
cero (para los flotantes); esto significa que los
resultados siempre son redondeados.
• Se ajusta a la regla entero vs flotante.

Su representación gráfica en Python es el símbolo


Residuo o modulo print (14 % 4)
de % (porcentaje).

Ms.C William Ruiz Martinez


Jerarquía de operadores

Operación Resultado

print (2 ** 2 ** 3)

print ((5 * ((25 % 13) + 100) / (2 * 13)) // 2) 10.0

print ((2**4), (2*4.), (2*4)) ????

print ((-2/4), (2/4), (2//4), (-2//4)) ???

6. Tipos de datos

Dato Descripción Ejemplo

Enteros Aquellos que no tienen una parte fraccionaria. 14568

-2536

Flotantes o Los cuales contienen (o son capaces de contener) una 14.526


decimales parte fraccionaría.
-5.638

Cadenas Las cadenas se emplean cuando se requiere procesar print (“María”)


texto (como nombres de cualquier tipo, direcciones,
print (‘Carlos Andrés Pérez’)
novelas, etc.), no números.
print ('Me gusta "Monty Python"')

a=5
Booleanos Son valores o variables cuyo estado solo puede ser
b=15
verdadero o falso.
op=a>b
print(op)

Ms.C William Ruiz Martinez


Ejemplo por desarrollar

Millas y kilómetros son unidades de longitud o distancia. desarrolle un sencillo programa en Python que realice las
siguientes conversiones:

• Millas a kilómetros.
• Kilómetros a millas.

7. Entrada de datos por teclado

Para ingresar datos por teclado se utiliza la función input (), veamos algunos ejemplos:
Ejemplo 1

Usuario= input("Ingrese el nombre del usuario:")


print("El nombre de usuario es: " +Usuario)

Ejemplo 2
x=int(input ("Ingrese un valor entero"))
y=int(input ("Ingrese otro valos entero"))
z=x+y
print("la suma de los valores es:",z)

Ejemplo 3
edad = int(input("Dígame su edad: "))
print(f"Su edad son {edad} años")

Ejemplo 4
nombre = input("Dígame su nombre: ")
apellido = input(f"Dígame su apellido, {nombre}: ")
print(f"Me alegro de conocerle, {nombre} {apellido}.")

8. Listas o arreglos en Python

Hasta ahora, hemos aprendido como declarar variables que pueden almacenar exactamente un valor dado a la vez. Tales
variables a veces se denominan escalares por analogía con las matemáticas. Todas las variables que has usado hasta ahora
son realmente escalares.
Piensa en lo conveniente que fuese declarar una variable que podría almacenar más de un valor. Por ejemplo, cien, o mil o
incluso diez mil. Todavía sería una y la misma variable, pero muy amplia y espaciosa. ¿Suena atractivo? Quizás, pero ¿cómo
manejarías un contenedor así lleno de valores diferentes? ¿Cómo elegirías solo el que necesitas?
Vamos a crear una variable llamada números; se le asigna no solo un número, sino que se llena con una lista que consta
de cinco valores (nota: la lista comienza con un corchete abierto y termina con un corchete cerrado; el espacio entre los
corchetes es llenado con cinco números separados por comas).

números = [10, 5, 7, 2, 1]
Los elementos dentro de una lista pueden tener diferentes tipos. Algunos de ellos pueden ser enteros, otros son flotantes
y otros pueden ser listas.

Python ha adoptado una convención que indica que los elementos de una lista están siempre numerados desde cero. Esto
significa que el elemento almacenado al principio de la lista tendrá el número cero. Como hay cinco elementos en nuestra
lista, al último de ellos se le asigna el número cuatro.

Ms.C William Ruiz Martinez


Ej.

números = [10, 5, 7, 2, 1]
print("Contenido de la lista:", números) # Imprimiendo contenido de la lista original.

números[0] = 111 #Agregando un nuevo elemento a la lista o arreglo

print("Nuevo contenido de la lista: ", números) # Contenido actual de la lista.

8.1. Como acceder a los contenidos de la lista

Se puede acceder a cada uno de los elementos de la lista por separado. Por ejemplo, se puede imprimir:
print(numeros[0]) # Accediendo al primer elemento de la lista.

La función len()

La longitud de una lista puede variar durante la ejecución. Se pueden agregar nuevos elementos a la lista, mientras que
otros pueden eliminarse de ella. Esto significa que la lista es una entidad muy dinámica.
Si deseas verificar la longitud actual de la lista, puedes usar una función llamada len() (su nombre proviene de length -
longitud).

La función toma el nombre de la lista como un argumento y devuelve el número de elementos almacenados
actualmente dentro de la lista (en otras palabras - la longitud de la lista).
Veamos con nuestro ejemplo anterior:

print("La longitud de la lista es:",len(numeros))

Como recorrer los elementos de la lista


Una parte interesante de trabajar con listas o arreglos es poder recorrer la estructura y poder identificar los elementos que
la componen, por ej. Podríamos tener una lista donde tengamos la posibilidad de ingresar los elementos de la lista,
recorrerla y posteriormente imprimirlos, veamos:

Ej1.

# Inicializar una lista vacía para almacenar los números


numeros = []

# Pedir al usuario que ingrese el número de elementos, en este caso la lista está limitada a solo números enteros
n = int(input("Ingrese el número de elementos en la lista: "))

# Iterar n veces para obtener los elementos del usuario


#el ciclo for nos permite recorrer los elementos de una lista o arreglo, donde i es el contador y(n) es el arreglo a recorrer

for i in range(n):

numero = int(input(f"Ingrese el elemento {i+1}: "))

#La funcion append se encarga de agregar elementos a la lista


numeros.append(numero)

# Iterar sobre la lista y mostrar cada elemento

for numero in numeros:


print(numero)

Ms.C William Ruiz Martinez


Ej2.

# Inicializar una lista vacía para almacenar los elementos


elementos = []

# Pedir al usuario que ingrese el número de elementos

while True:

try:
n = int(input("Ingrese el número de elementos en la lista: "))

if n > 0:

break

else:
print("Por favor, ingrese un número entero positivo.")

except ValueError:

print("Entrada no válida. Por favor, ingrese un número entero.")

8.2. Agregar elementos a la lista con los métodos append() e insert()

Python cuenta con 2 métodos para adicionar elementos a las listas veamos:

El método append ()
Un nuevo elemento puede ser añadido al final de la lista existente:

Sintaxis

list.append(value)
Dicha operación se realiza mediante un método llamado append(). Toma el valor de su argumento y lo coloca al final de
la lista que posee el método.

Ej.1

#Veamos como agregar elementos a la lista


nombres=["Jose", "pedro", "Mateo"]
print(nombres)

#Vamos a agregar un nuevo elemento a la lista: nombredelalista.append(value)

nombres.append("Maria")
print("La nueva lista seria:",nombres)

El método insert ( )
El método insert() es más funcional, ya que puede agregar un nuevo elemento en cualquier lugar de la lista, no solo al final.

Cuenta con 2 argumentos:

• El primero muestra la ubicación requerida del elemento a insertar; nota: todos los elementos existentes que
ocupan ubicaciones a la derecha del nuevo elemento (incluido el que está en la posición indicada) se desplazan
a la derecha, para hacer espacio para el nuevo elemento;

• el segundo es el elemento por insertar.

Ms.C William Ruiz Martinez


Sintaxis

list.insert(location, value)
Ej2.

#Vamos a agregar un nuevo elemento a la lista con el metodo insert: nombredelalista.insert(location, value)

nombres.insert(2,"Juan")

print("La nueva lista seria:", nombres)

8.3. Eliminar elementos de la lista con los métodos remove (), pop () y del ()

Python cuenta con varios métodos para eliminar elementos en las listas veamos:

El método remove ()
Elimina el primer elemento que coincida con el valor que se pasa como argumento.

Sintaxis

list.remove(value)

Ej.1
#Veamos com eliminar elementos a la lista

nombres=['William', 'Jose', 'Pedro', 'Juan', 'Mateo', 'Maria']

print(nombres)

#Vamos a eliminar un elemento de la lista: nombredelalista.remove (value)


nombres.remove("Maria")

print("La nueva lista seria:",nombres)

El método pop ( )
El método pop () es más funcional, ya que puede eliminar un nuevo elemento en cualquier lugar de la lista, pero trabaja
con su posición mas no su contenido.

Sintaxis

itemb=nombredelalista.pop(posicion)
Ej2.
#Vamos a eliminar elemento de la lista con el metodo pop ()

Itemb=nombres.pop(“Juan)

print("La nueva lista seria:", nombres)

El método del ()
Es útil para eliminar elementos o trozos de una lista en Python.

Sintaxis

del nombredelalista=[ ]
Ej3.
nombres=['William', 'Jose', 'Pedro', 'Juan', 'Mateo', 'Maria']

print(nombres)

Ms.C William Ruiz Martinez


del nombres[1]

print("La nueva lista seria:", nombres)

Una parte interesante de este método del()es que proporciona la funcionalidad de eliminar una sección de elementos de
una lista. La sintaxis para eliminar varios elementos se muestra a continuación donde:

• start indica el inicio del índice del corte.

• end indica el final del índice del corte.

Sintaxis

del list[start:end]

Ej4. Borrar los elementos de la lista de la posición 2 a la 4

nombres=['William', 'Jose', 'Pedro', 'Juan', 'Mateo', 'Maria']

print(nombres)
del nombres[2:4]

print("La nueva lista seria:", nombres)

Nota: Puedo borrar todos los elementos de la lista con la siguiente instrucción:

del nombres[:]

Ejemplo de aplicación de las listas o arreglos en Python

# Definimos una lista vacia para almacenar los libros


biblioteca = []

#Declaramos una función para agregar un libro


def agregar_libro():
isbn = input("Ingrese el ISBN del libro: ")
titulo = input("Ingrese el título del libro: ")
autor = input("Ingrese el autor del libro: ")
año = input("Ingrese el año de publicación del libro: ")

libro = {
'isbn': isbn,
'titulo': titulo,
'autor': autor,
'año': año,
}
biblioteca.append(libro)
print(f"Libro '{titulo}' agregado a la biblioteca.")

# Función para eliminar un libro por ISBN


def eliminar_libro():
isbn = input("Ingrese el ISBN del libro a eliminar: ")
for libro in biblioteca:
if libro['isbn'] == isbn:
biblioteca.remove(libro)
print(f"Libro con ISBN '{isbn}' eliminado de la biblioteca.")

Ms.C William Ruiz Martinez


return
print(f"Lo sentimos el libro con ISBN '{isbn}' no fue encontrado en la biblioteca.")

# Menú principal
def menu():
while True:
print("\nMenú de la Biblioteca")
print("1. Agregar libro")
print("2. Eliminar libro")
print("3. Mostrar biblioteca")
print("4. Salir")
opcion = input("Seleccione una opción: ")

if opcion == '1':
agregar_libro()
elif opcion == '2':
eliminar_libro()
elif opcion == '3':
print("Biblioteca:")
for libro in biblioteca:
print(libro)
elif opcion == '4':
print("Saliendo del programa...")
break
else:
print("Opción no válida. Intente de nuevo.")

# Ejecutar el menú
menu()

9. Pilas en Python

Recordemos que el concepto de pila es que esta es una estructura de datos de entradas ordenadas tales que solo se
introduce y elimina por un extremo, llamado cima o tope. Por lo tanto, en una estructura tipo pila solo se permite agregar
nodos a la pila y eliminarlos de esta sólo desde su parte superior.

Ms.C William Ruiz Martinez


9.1. Las pilas y sus métodos

En Python podemos gestionar los siguientes métodos en una pila:

• Apilar (append): Adicionar un elemento en el tope de la pila.

• Desapilar (pop): Realizar el retiro de un elemento de la pila. Se Toma primero el que se encuentra en el tope de la
pila.

• Vaciar: Le permite conocer si la pila esta desocupada o Contiene elementos, se puede indicar cuantos elementos
contiene la pila.

9.2. Ejemplos sencillos

Ej1.
#Declaro una pila con 4 elementos iniciales

pila = ["Carlos","Sebastian","Angelica","Camilo"]

#Imprimo los elementos de la pila


print("Esta es la pila y sus elementos:", pila)

#Agregar elementos a la pila

pila.append("Alejandra")

pila.append("Tatiana")
pila.append("Maria")

#Imprimo nuevamente los elementos de la pila

print("La pila con elementos agregados:",pila)

# !!!podemos observar que el ultimo elemento ingresado queda de primero en la pila!!!


# Obtener el último elemento de la pila (sin eliminarlo)

ultimo_elemento = pila[-1]

print("Último elemento:", ultimo_elemento)

#adiciono un nuevo elemento a la pila


pila.append("Jose")

# #Imprimo nuevamente los elementos de la pila

print("La pila nuevamente con elementos agregados:",pila)

# para retirar un elemento de la pila usamos el método pop()


pila.pop()

#¿Cual sera el elemento que sera retirado de la pila

print("La pila con un elemento retirado:",pila)

# Vaciar la pila
pila.__init__()
print("La pila ya vacia:",pila)

Ms.C William Ruiz Martinez


Ej2. Crear una estructura tipo pila a través de clases y métodos
#defino el nombre de la pila
class Pila:
#El metodo init define la creación de la estructura
def __init__(self):
self.items = []
#El metodo estaVacia comprueba si la pila esta vacia
def estaVacia(self):
return self.items == []
#El metodo incluir permite agregar un elemento en el tope de la pila
def incluir(self, item):
self.items.append(item)
#el metodo extraer permite retirar un elemento en el tope de la pila
def extraer(self):
return self.items.pop()
#El metodo inspeccionar devuelve el item en el tope de la pila
def inspeccionar(self):
return self.items[len(self.items) - 1]
#el metodo tamano permite conocer cuántos elementos tiene la pila
def tamano(self):
return len(self.items)

#asigno la clase a una variable


p=Pila()
print("Tamaño de la pila:",p.tamano())
#Ingreso elementos a la pila
p.incluir('Ana')
p.incluir('Jaime')
p.incluir('Sonia')
#Indago sobre los elementos que contiene la pila
print("Tamaño de la pila:",p.tamano())
#verifico cual es el primer elemento de la pila
print("Primer elemento de la pila:",p.inspeccionar())
#Ingreso nuevos elementos a la pila
p.incluir('William')
p.incluir('Rocio')
#Indago nuevamente sobre los elementos que contiene la pila
print("Tamaño de la pila:",p.tamano())
#retiro un elemento de la pila y lo imprimo
print("Retiro un elemento de la pila:",p.extraer())
#Indago nuevamente sobre los elementos que contiene la pila
print("Tamaño de la pila:",p.tamano())
print("Pila Vacia:",p.estaVacia())

Ej 3. Aplicación de las pilas en Python


pila_citas = []
# Función para agregar una cita (push)
def agregar_cita():
nombre_paciente = input("Ingrese el nombre del paciente: ")
fecha_cita = input("Ingrese la fecha de la cita (DD/MM/AAAA): ")

Ms.C William Ruiz Martinez


hora_cita = input("Ingrese la hora de la cita (HH:MM): ")
cita = {
'nombre_paciente': nombre_paciente,
'fecha_cita': fecha_cita,
'hora_cita': hora_cita
}
citas.append(cita)
print(f"Cita para {nombre_paciente} el {fecha_cita} a las {hora_cita} agregada.")

# Función para eliminar la última cita agregada (pop)


def eliminar_cita():
if citas:
cita = citas.pop()
print(f"Cita para {cita['nombre_paciente']} el {cita['fecha_cita']} a las {cita['hora_cita']} eliminada.")
else:
print("No hay citas para eliminar.")

# Menú principal
def menu():
while True:
print("\nMenú de Gestión de Citas")
print("1. Agregar cita")
print("2. Eliminar última cita")
print("3. Mostrar citas")
print("4. Salir")
opcion = input("Seleccione una opción: ")

if opcion == '1':
agregar_cita()
elif opcion == '2':
eliminar_cita()
elif opcion == '3':
print("Citas:")
for cita in citas:
print(cita)
elif opcion == '4':
print("Saliendo del programa...")
break
else:
print("Opción no válida. Intente de nuevo.")

# Ejecutar el menú
menu()

Ms.C William Ruiz Martinez


10. Colas en Python

Una cola es una estructura de datos que almacena elementos en una lista y permite acceder a los datos por uno de los dos
extremos de la lista.

Un elemento se inserta en la cola (parte final) de la lista y se suprime o elimina por la frente (parte inicial, cabeza) de la lista.

Los elementos se eliminan (se quitan) de la cola en el mismo orden en que se almacenan y, por consiguiente, una cola es
una estructura de tipo FIFO (first-in-first-out, primero en entrar, Primero en salir o bien primero en llegar/primero en ser
servido).

El servicio de atención a clientes es un ejemplo típico de cola o el cajero de un banco

10.1. Las colas y sus métodos

En una cola se permiten los siguiente métodos:

* Agregar (Append): Adicionar un elemento en el tope de la pila.


* Retirar(pop): Realizar el retiro de un elemento de la cola, pero los extrae por la parte izquierda, que sería la cabeza de la
cola.

* Vaciar: Le permite conocer si la cola está vacía o Contiene elementos.

10.2. Colas usando el método collections.deque

Las colas en Python se pueden implementar de forma más eficiente utilizando la clase collections.deque, que está diseñada
para realizar adiciones y eliminaciones rápidas desde ambos extremos.
Metodos

* Agregar (Append): Adicionar un elemento en el tope de la pila.

* Retirar(popleft): Realizar el retiro de un elemento de la cola, pero los extrae por la parte izquierda, que sería la cabeza de
la cola.

* Vaciar: Le permite conocer si la cola está vacía o Contiene elementos.

Ms.C William Ruiz Martinez


10.3. Ejemplos sencillos

Ej1. Implementando colas usando listas


# Creando una cola

cola = []
# Agregar elementos a la cola

cola.append('a')

cola.append('b')

cola.append('c')

print("Cola inicial", cola)

#Eliminando elementos de la cola

print("\nElementos fuera de cola")


print(cola.pop(0))

print(cola.pop(0))

print("\nCola después de eliminar elementos", cola)


Nota: La forma más sencilla de implementar una cola en Python es utilizando una lista. Sin embargo, las listas no son
eficaces para este fin. Si bien las listas append y pop() son rápidas, insertar o eliminar elementos desde el principio de una
lista es lento (porque todos los demás elementos deben desplazarse).

Ej2. Implementando colas con el método queue


from collections import deque

# Creando una cola

q = deque()

# Agregar elementos a la cola

q.append('a')

q.append('b')

q.append('c')

print("Cola inicial", q)

# Eliminando elementos de la cola


print("\nElementos fuera de cola")

print(q.popleft())
print(q.popleft())

Ms.C William Ruiz Martinez


print("\nCola después de eliminar elementos", q)
Nota: La clase Queue del módulo de cola es especialmente útil en programación multiproceso, donde se manipulan objetos
Python, que normalmente no son seguros para subprocesos.

Ej3. Crear una estructura tipo cola a través de clases y métodos


class Cola:

# Crea una nueva cola que está vacía.

def __init__(self):

self.items = []
# Verifica si la cola está vacía.

def isEmptyCola(self):

return self.items == []

# Agrega un nuevo ítem al final de la cola.


def addItem(self, item):

self.items.insert(0,item)

# Elimina el ítem del frente de la cola

def removeItem(self):

return self.items.pop()
# Devuelve el número de ítems en la cola.

def lenghtCola(self):

return len(self.items)

colaobj = Cola()

# Validar la cola vacia


print(colaobj.isEmptyCola())

# Agregar items a la cola

colaobj.addItem('Camisa')
colaobj.addItem('Pantalón')

colaobj.addItem('Chaqueta')

#Verificar tamaño de la cola


print("El tamaño de la cola es:",colaobj.lenghtCola())

Ms.C William Ruiz Martinez


# Agregar nuevos elementos
colaobj.addItem('Medias')

colaobj.addItem('Zapatos')

#Ver cantidad de elementos


print("El nuevo tamaño de la cola es:",colaobj.lenghtCola())

# Obtener elementos de la cola

print("Los elementos de la cola son:",colaobj.items)

# Eliminar elementos de la cola

colaobj.removeItem()

#Obtener nuevamente elementos de la cola

print("Los actuales elementos de la cola son:",colaobj.items)

# Vacio todos los elementos de la cola


colaobj.__init__()

# #Obtener nuevamente todos los elementos de la cola

print("Los elementos que quedan en la cola son:",colaobj.items)

Ej4. Aplicación de las colas en Python


from collections import deque

# Crear una cola

turnos = deque()

# Función para agregar un turno

def agregar_turno():

nombre_cliente = input("Ingrese el nombre del cliente: ")


turnos.put(nombre_cliente)

print(f"Turno agregado: {nombre_cliente}")

# Función para atender un turno


def atender_turno():

Ms.C William Ruiz Martinez


if not turnos.empty():

cliente = turnos.get()
print(f"Atendiendo al cliente: {cliente}")

else:

print("No hay turnos por atender.")

# Función para mostrar la cantidad de turnos pendientes

def mostrar_turnos_pendientes():

print(f"Turnos pendientes: {turnos.qsize()}")

# Menú interactivo

def menu():

while True:

print("\n--- Menú Gestión de Turnos ---")


print("1. Agregar Turno")

print("2. Atender Turno")

print("3. Mostrar Turnos Pendientes")

print("4. Salir")

opcion = input("Seleccione una opción: ")

if opcion == "1":
agregar_turno()

elif opcion == "2":

atender_turno()

elif opcion == "3":


mostrar_turnos_pendientes()

elif opcion == "4":

print("Saliendo del sistema. ¡Hasta luego!")

break

else:
print("Opción inválida, por favor intente nuevamente.")

# Ejecutar el menú

menu()

Ms.C William Ruiz Martinez

También podría gustarte