Python desde el laboratorio. Estructuras de datos - Sara Arana Torres - E-Book

Python desde el laboratorio. Estructuras de datos E-Book

Sara Arana Torres

0,0
15,99 €

-100%
Sammeln Sie Punkte in unserem Gutscheinprogramm und kaufen Sie E-Books und Hörbücher mit bis zu 100% Rabatt.
Mehr erfahren.
Beschreibung

Dé un paso más allá en Python y domine las estructuras de datos En el dinámico mundo de la tecnología, las estructuras de datos son el pilar sobre el que las empresas construyen su capacidad para administrar información y forjar estrategias de crecimiento. Este libro le invita a sumergirse en el fascinante mundo de las estructuras de datos más utilizadas, como las listas y arrays; todas ellas fundamentales en Python. Gracias a su lectura, profundizará en el conocimiento de estas estructuras a través de una serie de ejercicios prácticos, donde aprenderá no solo la teoría sino también la implementación efectiva de listas, arrays (incluyendo técnicas y arreglos) y tuplas (abarcando métodos y diccionarios), habilidades imprescindibles en el campo de la programación. Dirigido a estudiantes, profesionales de la informática, programadores y a cualquier persona interesada en Python, este libro es una herramienta indispensable para comprender y aplicar de manera efectiva las estructuras de datos en proyectos reales. "Listas "Estructura de datos: arrays "Tuplas Indicado para estudiantes, profesionales en informática, programadores y entusiastas del tema, este es el recurso ideal para adentrarse de lleno en Python y aplicar sus potentes capacidades en proyectos y retos profesionales con confianza. Si quiere asentar sus conocimientos básicos sobre Python, o bien avanzar en el tema, los autores Teodoro Córdova y Sara Arana han preparado tres libros más. ¡Hágase con ellos y complete su camino hacia la excelencia en Python!

Sie lesen das E-Book in den Legimi-Apps auf:

Android
iOS
von Legimi
zertifizierten E-Readern

Seitenzahl: 88

Bewertungen
0,0
0
0
0
0
0
Mehr Informationen
Mehr Informationen
Legimi prüft nicht, ob Rezensionen von Nutzern stammen, die den betreffenden Titel tatsächlich gekauft oder gelesen/gehört haben. Wir entfernen aber gefälschte Rezensionen.



Python desde el laboratorio

Estructuras de datos

Teodoro Córdova Neri y Sara Arana Torres

Python desde el laboratorioEstructuras de datos

© Teodoro Córdova Neri y Sara Arana Torres

Derechos reservados © Empresa Editora Macro EIRL, Lima – Perú

Primera edición: Empresa Editora Macro EIRL, Lima – Perú, julio de 2023

Primera edición: MARCOMBO, S.L. 2024

© 2024 MARCOMBO, S.L.

www.marcombo.com

Ilustración de cubierta: Jotaká

Cualquier forma de reproducción, distribución, comunicación pública o transformación de esta obra solo puede ser realizada con la autorización de sus titulares, salvo excepción prevista por la ley. Diríjase a CEDRO (Centro Español de Derechos Reprográficos, www.cedro.org) si necesita fotocopiar o escanear algún fragmento de esta obra

ISBN del libro en papel: 978-84-267-3767-0

ISBN del libro electrónico: 978-84-267-3816-5

Producción del ePub: booqlab

Teodoro Córdova Neri, MSc

Director del Instituto de Ingeniería de Software (IISOFT) y del Departamento Académico de Ingeniería de Sistemas y del Instituto de Sistemas UNI (FIIS). Doctorado en la especialidad de Ingeniería de Sistemas por la Universidad Nacional de Ingeniería. Posgrado en Ingeniería de Sistemas y docente investigador en la Facultad de Ingeniería Industrial y de Sistemas de la Universidad Nacional de Ingeniería desde el año 1984.

Es consultor en tecnologías de la información en entidades públicas y privadas y ha sido jefe de proyectos públicos en el Banco de la Nación y en la Municipalidad Metropolitana de Lima. También es autor de textos sobre programación de nivel universitario, como Lenguaje de programación estructurada y sus aplicaciones en Borland C++5.02, Lenguaje interpretado Python, Sistemas operativos y Modelamiento dinámico en Stella.

Ha participado como conferenciante en eventos académicos realizados en importantes universidades como la Universidad de Buenos Aires (UBA) de Argentina, Universidad de Santiago de Chile (Chile), Universidad de Sao Paulo (Brasil) y el Instituto Tecnológico y de Estudios Superiores de Monterrey, campus Puebla (México). En Perú, ha sido conferenciante en la Universidad Peruana Unión, Universidad Los Ángeles de Chimbote y Universidad Femenina del Sagrado Corazón. Se ha desempeñado como catedrático en las siguientes universidades: Universidad Nacional de Ingeniería, Universidad Católica del Perú, Universidad San Martín de Porres, Universidad Femenina del Sagrado Corazón, Universidad Peruana Unión y Universidad Santiago Antúnez de Mayolo.

Dra. Sara Arana Torres

Docente universitaria y doctora en Ingeniería de Sistemas por la Universidad Nacional Federico Villarreal. Posgrado en Gerencia en Estadística e Informática y licenciada en Estadística por la Universidad Nacional de Trujillo. Actualmente es vicedecana de Investigación, directora de posgrado y de la Escuela Profesional de Economía Internacional en la Facultad de Ciencias Económicas de la Universidad Nacional Mayor de San Marcos. Asimismo, es asesora de trabajos de investigación y cuenta con una diversa producción intelectual y científica, como “Estadística en el quehacer cotidiano de profesionales y hombres de a pie” y “Modelo estadístico para determinar la demanda de textos escolares en la ciudad de Trujillo”. Actualmente, ejerce la labor de enseñanza en diversas instituciones, como la Universidad Nacional de Ingeniería, Universidad Nacional Mayor de San Marcos, Universidad Ricardo Palma, entre otras.

Índice

Prólogo

Introducción

CAPÍTULO 1:Listas

1.1. Acceso a un elemento de la lista

1.2. Sublistas

1.3. Partir una lista: [ : ]

1.4. Saltos en una lista

1.5. Métodos de una lista

1.6. Eliminar elementos

1.7. Eliminar toda la lista

1.8. Eliminar datos mediante el index

1.9. Copia de lista

1.10. Buscar elementos en la lista

CAPÍTULO 2: Estructura de datos: arrays

2.1. Conceptualización

2.2. Las estructuras de datos

2.3. Inicializando vectores

2.4. Arreglos unidimensionales: vector

2.5. Arreglos bidimensionales: matriz

2.6. Generalizando la sintaxis

2.6.1. Primera técnica

2.6.2. Segunda técnica

2.7. Estructura repetitiva

2.8. Dimensión de forma variable

2.9. Matriz de convolución

2.10. Arreglos tridimensionales

CAPÍTULO 3: Tuplas

3.1. ¿Cuándo usar tuplas?

3.2. Diferencias con una lista

3.3. Zip de tuplas

3.4. Función unzip

3.5. Inserción

3.6. Diccionario

3.7. Acceder y modificar elementos

3.8. Método get()

3.9. Método setdefault()

3.10. Método sorted(): ordenar datos

3.11. Procesando diccionarios

Generalidades

Prólogo

“Caminante, no hay camino, se hace camino al andar”, dice el poeta. Aquí entregamos un deseo hecho realidad: mostrar un lenguaje de programación muy popular que crece sin límites y de código abierto, casi gratis, porque hay que trabajar programando de una forma elegante y fácil. Hoy se puede decir, hablando de sistemas, que existe una bifurcación ( fork), pues hay dos caminos: Python 2.x y Python 3.x. Esto no debe desanimarnos, pues ambos nos llevan al mismo destino para poner nuestros prototipos a trabajar lo más pronto posible. Para facilitar este proceso, junto con Python 3 se ha publicado una herramienta automática llamada 2to3. No hay divergencia y estamos en las manos del Dictador Benévolo de por Vida, su inventor Guido van Rossum.

Resumiendo, Python ofrece una gran base de código abierto, bibliotecas y marcos que facilitan el trabajo. Esto se debe al resultado de años de impulso, en los que ha sido seleccionado una y otra vez para nuevos proyectos.

Este libro es producto de un arduo trabajo de Teodoro L. Córdova Neri, MSc, mi exalumno en el máster, que cuenta con estudios de Doctorado en Ingeniería de Sistemas en la Universidad Nacional de Ingeniería, quien hace realidad el sueño de un viejo profesor y es pionero en informática en dicha casa de estudios.

Para no cansar más, repetiré lo que los usuarios refieren sobre la filosofía Python, que es casi análoga a la de Unix. Se dice que el código que sigue los principios de legibilidad y transparencia de Python es “pythonico”. Contrariamente, el código opaco es bautizado como “no pythonico” ( unpythonic en inglés). Estos principios fueron famosamente descritos por Tim Peters, desarrollador de este lenguaje de programación, en el zen de Python:

a. Complejo es mejor que complicado.

b. Plano es mejor que anidado.

c. Los casos especiales no son tan especiales como para quebrantar las reglas.

d. Lo práctico gana a lo puro.

e. Frente a la ambigüedad, rechaza la tentación de adivinar.

 

 

 

José Portillo Campbell, MSc, PhD

Introducción

Actualmente se usan las estructuras de datos para procesar grandes volúmenes de estos y de diferentes tipos. Por ejemplo, cuando se procesa la información de los empleados de una empresa, se tienen que registrar todos sus datos, que son de diferentes tipos, y se les puede buscar, ordenar o eliminar sin dificultades.

Las estructuras de datos se denominan unidimensionales o vectores; los arreglos bidimensionales, matrices; y los arreglos tridimensionales, cubos. Hasta este nivel de estructuras se puede interpretar y contrastar con la realidad. Las estructuras múltiples de cuatro o más dimensiones se pueden procesar, pero no contrastar con la realidad. Solo serán factibles cuando se conozca el comportamiento de la cuarta dimensión.

En Python, se tiene que expresar el equivalente de las estructuras mencionadas, tales como listas o diccionarios, para diseñar tablas que representan a los registros con diferentes tipos de datos.

El diseño de las listas es muy legible y didáctico; por ejemplo, si se desea una lista para almacenar cinco notas, sería Notas=[0]*5, donde * significa repetición. Asimismo, si se quiere procesar datos de un almacén, se recurre a una matriz para estructurar dos listas; es decir, Lista=[0]*4, de donde Matriz=[Lista]*4. Finalmente, se afirma que en este tipo de estructuras no existen barreras para procesar volúmenes de datos y sus tipos, solo se debe definir correctamente cada estructura respecto a los rangos, si no siempre se tendrá el mensaje “Fuera de rango”.

 

 

 

Responsable principal

[email protected]

Córdova Neri, Teodoro L.

Universidad Nacional de Ingeniería (UNI)

Capítulo 1

Listas

Una lista es un tipo de estructura de datos muy flexible que guarda, de forma ordenada, un conjunto de datos. Es equivalente a otros lenguajes de programación estructurados, a los que se les conoce como arreglos; por ejemplo, vector, matriz y arreglo tridimensional. En el lenguaje de programación C++ se conoce como struct y sus elementos pueden ser: enteros, booleanos, cadenas de texto, flotantes o inclusive sublistas. Los elementos de una lista van encerrados entre corchetes ([ ]) y separados por comas.

Sintaxis:

Donde dato1...datoN son tipos de datos. Una propiedad importante de las listas es que los elementos se pueden modificar después de haberlas creado.

Lista vacía([ ]) puede usarse mediante la definición o inicializada por usuarios.

Lista=list()

Lista=[ ]

Las celdas están numeradas desde cero. El primer componente o primera celda tiene un índice 0. El segundo componente o segunda celda tiene un índice 1, índice 2 y así sucesivamente.

Ejemplo:

Inicializar una lista con los datos de un vehículo.

Solución:

Lista_vehic=[c1c-123,”rop”, “toyota”,modelo,[ “EU”],123423.6]

1.1. Acceso a un elemento de la lista

Sintaxis:

Lista_vehic [ indice]

Se puede acceder a los componentes de una lista mediante un índice entre corchetes. Se puede acceder a varios elementos o componentes mediante un rango y usar índices.

Ejemplo:

Diseñar un programa que permita inicializar una lista con seis elementos de diferentes tipos, después mostrar cada elemento. Hacer las consultas desde la interfaz shell.

En notación lista, se tiene:

Solución:

1.2. Sublistas

Permite acceder a los elementos de una lista que están dentro de otra.

Aquí, los elementos de la lista son sublistas y cada una contiene notas.

Ejemplo:

Diseñar un programa que permita inicializar una lista con diferentes tipos de datos: simples y sublistas. Después, mostrar lo siguiente:

a. Primer y tercer elemento.

b. Segundo elemento de la sublista.

c. Último elemento de la lista.

Solución:

Ejemplo:

Diseñar un programa que permita inicializar una lista con elementos de diferentes tipos de datos y sublistas, después:

a. Listar segundo elemento.

b. Listar elementos de la primera sublista.

c. Listar primer elemento de la segunda sublista.

d. En la segunda sublista, cambiar el valor de “pqr” por “tcn”.

Solución:

1.3. Partir una lista [ : ]

Cuando se realiza un informe, se puede solicitar una parte de la lista; entonces, usar dos puntos “:”.

Sintaxis:

[inicio : fin]

Ejemplo:

Diseñar un programa que permita inicializar la siguiente estructura:

Diseñar un programa que permita hacer los siguientes informes:

a. Mostrar el cuarto elemento hasta el tercer elemento.

b. Mostrar solo el segundo elemento de la lista como sublista.

c. Mostrar los dos últimos elementos de la lista.

El programa debe ser interactivo con el usuario. Se pueden hacer consultas de la lista las k veces que lo requiera sin salir del modo compilación. Basta con definir un bucle de tipo pretest y leer dentro de este con la variable resp= S. Para iniciar el bucle, se debe inicializar la variable resp==‘S’ o resp==‘s’.

Solución:

1.4. Saltos en una lista

Se puede imprimir elementos con saltos al definir subrangos mediante sus índices.