0% encontró este documento útil (0 votos)
21 vistas27 páginas

(En Procesos) Python para Ciencia de Datos, Inteligencia Artificial y Desarrollo

Python para ciencia de datos, son los fundamentos
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)
21 vistas27 páginas

(En Procesos) Python para Ciencia de Datos, Inteligencia Artificial y Desarrollo

Python para ciencia de datos, son los fundamentos
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/ 27

Python para

Ciencia de
Datos, IA y
Desarrollo
CONCEPTOS BÁSICOS PYTHON

Primeros pasos con Python y Jupyter

#Introducción a Python

Python es ideal para ti porque utiliza una sintaxis clara y legible, puedes desarrollar los mismos
programas de otros lenguajes con menos código usando Python. Para los principiantes es un buen
lenguaje para comenzar debido a la enorme comunidad global y la riqueza de la documentación.

Python es útil en muchas áreas, incluida la ciencia de datos, la IA y el aprendizaje automático, el desarrollo
web y los dispositivos de Internet de las Cosas (IoT), como Raspberry Pi.

Entre las grandes organizaciones que utilizan Python en gran medida se encuentran IBM, Wikipedia, Google,
Yahoo, el CERN, la NASA, Facebook, Amazon, Instagram, Spotify y Reddit. Python cuenta con el apoyo de
una comunidad global y está dirigido por la Python Software Foundation.

Python es un lenguaje de programación de alto nivel y propósito general que puede aplicarse a muchas
clases diferentes de problemas. Cuenta con una amplia biblioteca estándar que proporciona herramientas
adecuadas para muchas tareas diferentes, como bases de datos, automatización, Web scraping,
procesamiento de texto, procesamiento de imágenes, aprendizaje automático y análisis de datos.

Para la ciencia de datos, puede utilizar las bibliotecas de computación científica de Python como Pandas,
NumPy, SciPy y Matplotlib. Para inteligencia artificial, cuenta con TensorFlow, PyTorch, Keras y
Scikit-learn. Python también puede utilizarse para el Procesamiento del Lenguaje Natural (PLN)
mediante el Natural Language Toolkit (NLTK).

#Introducción a Jupyter

Jupyter es una aplicación web de libre acceso que permite crear y compartir documentos que
contienen ecuaciones, codificación en vivo, visualizaciones y texto narrativo. Jupyter ofrece un
entorno informático interactivo compatible con varios lenguajes de programación, como Python, R, Julia, etc.,
pero brilla más cuando se utiliza con Python. Jupyter gira en torno a los notebooks, documentos que
contienen una mezcla de código, visualizaciones, texto narrativo, ecuaciones y contenido multimedia. Estos
Notebooks permiten a los usuarios crear, compartir y colaborar en proyectos computacionales sin problemas.

¿Por qué Jupyter?


La popularidad de Jupyter proviene de su flexibilidad y facilidad de uso. Independientemente de su nivel de
conocimientos de programación, tanto si es un programador experimentado como si se está embarcando en
su viaje por la ciencia de datos, Jupyter ofrece una plataforma intuitiva para escribir, probar y compartir
código. Su interfaz interactiva permite la exploración de datos, la experimentación con algoritmos y la
visualización de resultados, todo ello perfectamente integrado en un entorno unificado.

Estas son algunas de las características y ventajas clave de Jupyter:


●​ Computación interactiva: Los notebooks de Jupyter permiten a los usuarios escribir y ejecutar
código de forma interactiva. Esto significa que puede ejecutar celdas de código individualmente y ver el
resultado inmediatamente, fomentando un enfoque iterativo de la codificación y la experimentación.
●​ Compatibilidad con varios idiomas: Aunque Jupyter se desarrolló inicialmente para Python (de ahí
su nombre, que significa Julia, Python y R), ahora es compatible con varios lenguajes de programación a
través de su sistema de núcleo. Esta flexibilidad hace que Jupyter sea adecuado para diversas tareas
computacionales y para la colaboración interdisciplinar.
●​ Salida enriquecida: Los Notebooks de Jupyter admiten la integración de medios enriquecidos, lo
que permite a los usuarios generar gráficos interactivos, diagramas, imágenes, vídeos y mucho más
directamente dentro del documento. Esto facilita la visualización de datos, la comunicación de resultados y la
creación de narrativas convincentes.
●​ Integración con bibliotecas de Ciencia de datos: Jupyter se integra a la perfección con bibliotecas
y marcos de trabajo populares utilizados en el ecosistema de la Ciencia de datos, como NumPy, Pandas,
Matplotlib, sci-kit-learn, TensorFlow y PyTorch. Esto permite a los usuarios aprovechar toda la potencia de
estas herramientas dentro del entorno del cuaderno para tareas como la manipulación de datos, la
visualización, el aprendizaje automático y el aprendizaje profundo.
●​ Colaboración y uso compartido: Jupyter promueve la colaboración y la reproducibilidad al permitir
a los usuarios compartir sus notebooks con otros a través del correo electrónico, GitHub o el visor de
Notebook de Jupyter. Esto facilita el intercambio de conocimientos, la revisión por pares y la colaboración
interdisciplinar, ya que los usuarios pueden intercambiar fácilmente ideas, fragmentos de código y mejores
prácticas.

Jupyter en la Ciencia de datos


Jupyter se ha convertido en una herramienta indispensable para investigadores, analistas y desarrolladores
en Ciencia de datos. Su perfecta integración con bibliotecas tan populares como NumPy, Pandas y
Sci-kit-learn lo convierten en la mejor opción para la manipulación de datos, el análisis y el
aprendizaje automático. Jupyter ofrece una interfaz fácil de usar, capacidades interactivas y sólidas
funciones de colaboración, lo que lo convierte en una herramienta esencial para cualquiera que se dedique
al análisis de datos, la investigación científica, la educación o el desarrollo de software. Tanto si explora
datos como si construye modelos de aprendizaje automático, imparte una clase o lleva a cabo una
investigación, Jupyter le permite trabajar de forma más eficiente y compartir sus conocimientos con los
demás.

Tipos

#Tipos

Un tipo es la forma en que Python representa diferentes tipos de datos. Pueden ser enteros como 11,
números reales como 21.213, incluso pueden ser palabras. Los números enteros, los números reales y
las palabras pueden expresarse como diferentes tipos de datos.

La siguiente tabla resume tres tipos de datos para los últimos ejemplos.

La primera columna indica la expresión. La segunda columna indica el tipo de datos.

Podemos ver el tipo de datos real en Python utilizando el comando type.

Podemos tener int, que significa un entero

y float que significa flotante, esencialmente un número real.

El tipo string es una secuencia de caracteres.


Los enteros pueden ser negativos o positivos, cabe señalar que hay un rango finito de números enteros,
pero es bastante grande.

Los flotantes son números reales. Incluyen los números enteros, pero también los números intermedios.
Consideremos los números entre 0 y 1, podemos seleccionar números entre ellos, estos números son
flotantes. Del mismo modo, considere los números entre 0,5 y 0,6. Podemos seleccionar los números entre
ellos. Podemos seleccionar números entre ellos. También son números flotantes. Podemos continuar el
proceso haciendo zoom para diferentes números. Por supuesto, hay un límite, pero es bastante pequeño.

Puedes cambiar el tipo de la expresión en Python, esto se llama typecasting.


Puedes convertir un int en un float, por ejemplo, puedes convertir el entero 2 a un float 2.0.
Debes tener cuidado, por ejemplo, si transformas el flotante 1.1 en 1, perderás información. Si
una cadena contiene un valor entero, puedes convertirla a int, si convertimos una cadena
que contiene un valor no entero, obtendremos un error.

Un booleano puede tomar dos valores, el primer valor es True, sólo recuerda que usamos una T
mayúscula, los valores booleanos también pueden ser False con una F mayúscula. Usando el
comando type sobre un valor booleano, obtenemos el término bool, es la abreviatura de Boolean, si
convertimos un booleano True en un entero o float, obtendremos un 1, si convertimos un booleano
False en un entero o float, obtendremos un 0 y viceversa si convertimos 1 y 0 en booleanos obtendremos
True y False..

Expresiones y Variables

Expresiones y Variables

Las expresiones son operaciones que python realiza, por ejemplo, operaciones aritméticas básicas como
sumar varios números.

Llamamos operandos a los números, y los símbolos matemáticos.

Python sigue convenciones matemáticas cuando realiza expresiones matemáticas, las siguientes
operaciones tienen un orden diferente, en ambos casos, Python realiza la multiplicación, luego la suma, para
obtener el resultado final.

Podemos utilizar variables para almacenar valores, en este caso, asignamos un valor de 1 a la variable
mi_variable utilizando el operador de asignación, es decir, el signo igual, a continuación, podemos utilizar
el valor en otra parte del código escribiendo el nombre exacto de la variable.

Utilizaremos dos puntos para indicar el valor de la variable.

Podemos almacenar los resultados de expresiones, por ejemplo, sumamos varios valores y asignamos el
resultado a x, x almacena ahora el resultado.

También podemos utilizar el comando tipo en las variables.

Es una buena práctica usar nombres de variables significativos; así, no tienes que estar pendiente de lo
que hace la variable.
Operaciones con Cadenas

#Operaciones con Cadenas

En Python:
●​ Una cadena es una secuencia de caracteres, una cadena está contenida entre dos comillas,
también puede utilizar comillas simples.
●​ Una cadena puede tener espacios o dígitos.
●​ Una cadena también puede tener caracteres especiales.

Podemos enlazar o asignar una cadena a otra variable, es útil pensar en una cadena como una
secuencia ordenada.

Se puede acceder a cada elemento de la secuencia utilizando un índice representado por la matriz de
números, se puede acceder al primer índice de la siguiente manera: Podemos acceder al índice 6. Además,
podemos acceder al índice 13.

También podemos utilizar la indexación negativa con cadenas.

El último elemento viene dado por el índice negativo uno, el primer elemento puede obtenerse mediante el
índice negativo 15 y así sucesivamente.

Podemos enlazar una cadena a otra variable. Es útil pensar en la cadena como una lista o tupla.
Podemos tratar la cadena como una secuencia y realizar operaciones de secuencia. También podemos
introducir un valor de stride de la siguiente manera:
El dos indica que seleccionaremos cada dos variables.

También podemos incorporar slicing. En este caso, devolvemos cada segundo valor hasta el índice cuatro.

Podemos utilizar el comando len para obtener la longitud de la cadena.

Como hay 15 elementos, el resultado es 15.

Podemos concatenar o combinar cadenas.

Utilizamos los símbolos de suma, el resultado es una nueva cadena que es una combinación de ambas.

Podemos replicar valores de una cadena, simplemente multiplicamos la cadena por el número de veces
que queremos replicarla, en este caso tres.

El resultado es una nueva cadena, que está formada por tres copias de la cadena original, esto significa
que no puedes cambiar el valor de la cadena, pero puedes crear una cadena nueva, por ejemplo, puede
crear una nueva cadena estableciéndose en la variable original y concatenando con una nueva cadena.
El resultado es una nueva cadena que cambia de Michael Jackson a Michael Jackson es el mejor.

Las cadenas son inmutables, las barras invertidas representan el comienzo de secuencias de escape.

Las secuencias de escape representan cadenas que pueden ser difíciles de introducir, por ejemplo, la
barra invertida «\n» representa una nueva línea, la salida viene dada por una nueva línea después de
encontrar la barra invertida «\n».

Del mismo modo, la barra invertida «t» representa un tabulador.

La salida está dada por un tabulador donde se encuentra la barra invertida «t».

Si desea colocar una barra invertida en su cadena, utilice una barra invertida doble.

El resultado es una barra invertida después de la secuencia de escape.

También podemos colocar una «r» delante de la cadena.

para poder imprimir de forma literal lo que está entre doble comillas.

Ahora, echemos un vistazo a los métodos de cadena.


●​ Las cadenas son secuencias y, como tales, tienen métodos de aplicación que funcionan con
listas y tuplas.
●​ Las cadenas también tienen un segundo conjunto de métodos que sólo funcionan con cadenas.
Cuando aplicamos un método a la cadena A, obtenemos una nueva cadena B que es diferente de A.
Hagamos algunos ejemplos, probemos con el método «Upper».

Este método upper convierte los caracteres minúsculos en mayúsculos, en este ejemplo,
establecemos la variable A con el siguiente valor, aplicamos el método «Upper», y lo establecemos igual a
B. El valor para B es similar a A, pero todos los caracteres son mayúsculas.

El método replace sustituye un segmento de la cadena, es decir, una subcadena, por una nueva cadena.

Introducimos la parte de la cadena que queremos cambiar. El segundo argumento es aquello por lo que
queremos cambiar el segmento. El resultado es una nueva cadena con un segmento cambiado.

El método find, encuentra subcadenas.

El argumento es la subcadena que queremos encontrar. La salida es el primer índice de la secuencia.


Podemos encontrar la subcadena Jack. Si la subcadena no está en la cadena, la salida es -1.

#Formatos de Cadenas en Python

●​ Interpolación de cadenas (f-strings)


Introducidas en Python 3.6, las cadenas-f son una nueva forma de formatear cadenas en Python, llevan
el prefijo 'f' y utilizan llaves {} para encerrar las variables que serán formateadas, por ejemplo

Esto mostrará:
●​ str.format()
Esta es otra forma de formatear cadenas en Python. Utiliza llaves {} como marcadores de posición para
variables que se pasan como argumentos en el método format(), por ejemplo

Esto mostrará:

●​ Operador %
Esta es una de las formas más antiguas de formatear cadenas en Python, utiliza el operador % para
reemplazar variables en la cadena, por ejemplo

Esto mostrará:

Cada uno de estos métodos tiene sus propias ventajas y casos de uso, sin embargo, las cadenas f se
consideran generalmente la forma más moderna y preferida de formatear cadenas en Python debido
a su legibilidad y rendimiento.

●​ Capacidades adicionales
Las cadenas f también son capaces de evaluar expresiones dentro de las llaves, lo que puede ser muy
útil, por ejemplo

Esto mostrará:

●​ Cadena sin procesar (r'')


En Python, las cadenas sin procesar son una poderosa herramienta para manejar datos textuales,
especialmente cuando se trata de caracteres de escape. Al prefijar una cadena literal con la letra 'r',
Python trata la cadena como raw, lo que significa que interpreta las barras invertidas como
caracteres literales en lugar de secuencias de escape.

Considere los siguientes ejemplos de cadena regular y cadena sin procesar:

Cadena regular:

Esta será la salida:

En la variable de cadena regular “regular_string”, las barras invertidas (\n) se interpretan como
secuencias de escape, por lo tanto, \n representa un carácter de nueva línea, lo que daría lugar a una
representación incorrecta de la ruta del archivo.
Cadena sin procesar:

Esta será la salida:

Sin embargo, en la cadena sin procesar raw_string, las barras invertidas se tratan como caracteres
literales. Esto significa que \n no se interpreta como un carácter de nueva línea, sino como dos
caracteres separados, '' y 'n', en consecuencia, la ruta del archivo se representa exactamente como
aparece.

Estructuras de Datos en Python

Listas y Tuplas

#Listas y Tuplas

Se denominan tipos de datos compuestos y son uno de los tipos clave de estructuras de datos en
Python, Tuplas. Las tuplas son una secuencia ordenada, aquí hay una clasificación de tuplas.

Las tuplas se expresan como elementos separados por comas dentro de paréntesis, estos son valores
dentro de los paréntesis.

En Python, hay diferentes tipos: strings, integer, float.

Todos ellos pueden estar contenidos en una tupla, pero el tipo de la variable es tupla.

Se puede acceder a cada elemento de una tupla mediante un índice, la siguiente tabla representa la
relación entre el índice y los elementos de la tupla.
Se puede acceder al primer elemento mediante el
nombre de la tupla seguido de un corchete con el
número de índice, en este caso cero, podemos acceder
al segundo elemento de la siguiente manera, también
podemos acceder al último elemento. En Python,
podemos utilizar el índice negativo, la relación es la
siguiente, los valores correspondientes se muestran
aquí.

Podemos concatenar o combinar tuplas sumándolas.


El resultado es el siguiente con el siguiente índice.
Si queremos varios elementos de una tupla, también podemos trocear tuplas.

Por ejemplo, si queremos los tres primeros elementos utilizamos el siguiente comando, el último índice es
uno mayor que el índice deseado.

Podemos utilizar el comando len para obtener la longitud de una tupla.

Como hay cinco elementos, el resultado es 5.

Las tuplas son inmutables, lo que significa que no


podemos cambiarlas, para ver por qué esto es importante,
veamos qué ocurre cuando establecemos la variable
ratings 1 a ratings, cada variable no contiene una tupla,
sino que hace referencia al mismo objeto tupla
inmutable. Digamos que queremos cambiar el elemento
en el índice 2. Como las tuplas son inmutables no
podemos, por lo tanto la clasificación 1 no se verá afectada
por un cambio en la clasificación porque la tupla es
inmutable, es decir, no podemos cambiarla. Podemos asignar una tupla diferente a la variable ratings. La
variable ratings ahora hace referencia a otra tupla.

Como consecuencia de la inmutabilidad, si


queremos manipular una tupla debemos crear una
nueva tupla, si queremos ordenar una tupla,
utilizaremos la función sorted, la entrada es la tupla
original, la salida es una nueva lista ordenada.

Una tupla puede contener otras tuplas, así como


otros tipos de datos complejos. Esto se denomina
anidamiento. Podemos acceder a estos elementos
utilizando los métodos de indexación estándar. Si
seleccionamos un índice con una tupla, se aplica la
misma convención de indexación. De este modo,
podemos acceder a los valores de la tupla, por
ejemplo, podemos acceder al segundo elemento. Podemos aplicar esta indexación directamente a la
variable NT de la tupla.
Es útil visualizar esto como un árbol. Podemos
visualizar este anidamiento como un árbol, la tupla
tiene los siguientes índices, si consideramos los índices
con otras tuplas, vemos que la tupla en el índice 2
contiene una tupla con dos elementos, podemos
acceder a esos dos índices. La misma convención se
aplica al índice 3, también podemos acceder a los
elementos de esas tuplas. Podemos continuar el
proceso. Incluso podemos acceder a niveles más
profundos del árbol añadiendo otro corchete, podemos
acceder a diferentes caracteres de la cadena o a
varios elementos de la segunda tupla contenida en
la primera.

Las listas son también una estructura de datos popular en Python y son también una secuencia
ordenada. Una lista se representa con corchetes. En muchos
aspectos, las listas son como las tuplas, una diferencia
clave es que son mutables.

Las listas pueden contener cadenas, flotantes, enteros.


Podemos anidar otras listas, también podemos anidar tuplas y otras estructuras de datos.

Al igual que las tuplas, se puede acceder a cada elemento de una lista mediante un índice utilizando el
nombre de la lista seguido de un corchete con el número de índice positivo o negativo, las convenciones de
índices para listas y tuplas son idénticas.

También podemos realizar cortes, concatenar o combinar listas sumándose en listas de la misma
forma que con tuplas.

Las listas son mutables, por lo tanto podemos modificarlas, por


ejemplo: aplicamos el método extends añadiendo un punto seguido del
nombre del método y luego un paréntesis, el argumento dentro de los
paréntesis es una nueva lista que vamos a concatenar con la lista
original. En este caso, en lugar de crear una nueva lista, «L1», se
modifica la lista original, «L», añadiendo dos nuevos elementos.

Si aplicamos append en lugar de extended, añadimos un elemento


a la lista. Si miramos el índice sólo hay un elemento más, el índice 3
contiene la lista que hemos añadido, cada vez que aplicamos un
método, la lista cambia.

Si aplicamos extender, añadimos dos nuevos elementos a la lista.


La lista L se modifica añadiendo dos nuevos elementos. Si
añadimos la cadena A, modificamos aún más la lista, añadiendo la cadena A. }

Como las listas son mutables, podemos modificarlas, por ejemplo,


podemos cambiar el primer elemento de la siguiente manera. La lista
pasa a ser [hard rock, 10, 1.2].
Podemos borrar un elemento de una lista utilizando el
comando del, simplemente indicamos como argumento el elemento
de la lista que queremos eliminar, por ejemplo, si queremos eliminar
el primer elemento, el resultado es 10 1.2, podemos eliminar el
segundo elemento, esta operación, del(A[1]),elimina el segundo
elemento de la lista.

Podemos convertir una cadena en una lista utilizando split, por ejemplo, el
método split convierte cada grupo de caracteres separados por un espacio en
un elemento de una lista.

Podemos utilizar la función split para separar cadenas en un carácter


específico conocido, como delimitador, simplemente pasamos el delimitador
sobre el que queremos dividir como argumento, en este caso una coma. El
resultado es una lista, cada elemento corresponde a un conjunto de caracteres
separados por una coma.

Cuando establecemos una variable B igual a A, tanto A como B


están haciendo referencia a la misma lista. Los nombres múltiples
que hacen referencia al mismo objeto se conocen como aliasing.
Sabemos por la diapositiva de la lista que el primer elemento en B se
establece como “Hard Rock”, si cambiamos el primer elemento de A
por “banana”, obtendremos un efecto secundario, el valor de B
cambiará como consecuencia. A y B hacen referencia a la
misma lista, por lo tanto si cambiamos A, la lista B también
cambia. Si comprobamos el primer elemento de B después de cambiar la lista A, obtendremos banana en
lugar de hard rock.

Puedes clonar la lista A utilizando la siguiente sintaxis B = A[:],


la variable A hace referencia a una lista, la variable B hace
referencia a una nueva copia o clon de la lista original, ahora, si
modificamos B, B[0] = “Banana”, A no cambiará, su lista seguirá
siendo la misma (A=[“hard rock”, 10, 1.2]), pero la lista de B será
B=[“Banana”, 10, 1.2].

Podemos obtener más información sobre listas, tuplas y


muchos otros objetos en Python utilizando el comando help,
basta con introducir la lista, tupla o cualquier otro objeto de Python.

#Hoja de Trucos - Listas y Tuplas: Estructuras de datos en Python part-1

El método `append()` se utiliza para añadir un elemento al final de una lista.


El método `copy()` se utiliza para crear una copia superficial de una lista.​

El método `count()` se utiliza para contar el número de ocurrencias de un elemento específico en una lista
en Python.

Una lista es un tipo de datos incorporado que representa una colección ordenada y mutable de elementos.
Las listas se encierran entre corchetes [] y los elementos se separan por comas.

La sentencia `del` se utiliza para eliminar un elemento de una lista. La sentencia `del` elimina el elemento
en el índice especificado.

El método `extend()` se utiliza para añadir múltiples elementos a una lista. Toma un iterable (como otra
lista, tupla o cadena) y añade cada elemento del iterable a la lista original.

La indexación en una lista permite acceder a elementos individuales por su posición. En Python, la
indexación empieza en 0 para el primer elemento y llega hasta `length_of_list - 1`.

El método `insert()` se utiliza para insertar un elemento.


Modificar una lista Puedes utilizar la indexación para modificar o asignar nuevos valores a elementos
específicos de la lista.

El método `pop()` es otra forma de eliminar un elemento de una lista en Python. Elimina y devuelve el
elemento en el índice especificado. Si no proporcionas un índice al método `pop()`, eliminará y devolverá el
último elemento de la lista por defecto.

El método `remove()` elimina la primera aparición del valor especificado.

El método `reverse()` se utiliza para invertir el orden de los elementos de una lista.

Puedes utilizar slicing para acceder a un rango de elementos de una lista.


El método `sort()` se utiliza para ordenar los elementos de una lista en orden ascendente. Si quieres
ordenar la lista en orden descendente, puedes pasar el argumento `reverse=True` al método `sort()`.

Diccionario
Puede acceder a los valores de un diccionario utilizando sus `claves` correspondientes.

Añadir o modificar Inserta un nuevo par clave-valor en el diccionario. Si la clave ya existe, se


actualizará el valor; en caso contrario, se creará una nueva entrada.

El método `clear()` vacía el diccionario, eliminando todos los pares clave-valor que contiene. Tras esta
operación, el diccionario sigue siendo accesible y puede seguir utilizándose.

copy() Crea una copia superficial del diccionario. El nuevo diccionario contiene los mismos pares
clave-valor que el original, pero siguen siendo objetos distintos en memoria.
Creación de un diccionario, un diccionario es un tipo de datos incorporado que representa una colección
de pares clave-valor. Los diccionarios se encierran entre llaves `{}`.

del elimina del diccionario el par clave-valor especificado. Genera un error `KeyError` si la clave no existe.

items() recupera todos los pares clave-valor como tuplas y los convierte en una lista de tuplas. Cada tupla
consta de una clave y su valor correspondiente.

Puede comprobar la existencia de una clave en un diccionario utilizando la palabra clave `in`.

keys() recupera todas las claves del diccionario y las convierte en una lista. Útil para iterar o procesar claves
utilizando métodos de lista.

El método `update()` fusiona el diccionario proporcionado con el diccionario existente, añadiendo o


actualizando pares clave-valor.

values() Extrae todos los valores del diccionario y los convierte en una lista. Esta lista puede utilizarse para
su posterior procesamiento o análisis.
Establece
Se pueden añadir elementos a un conjunto utilizando el método `add()`. Los duplicados se eliminan
automáticamente, ya que los conjuntos sólo almacenan valores únicos.

El método `clear()` elimina todos los elementos del conjunto, dando como resultado un conjunto vacío.
Actualiza el conjunto en su lugar.

El método `copy()` crea una copia superficial del conjunto. Cualquier modificación en la copia no afectará al
conjunto original.

Un conjunto es una colección desordenada de elementos únicos. Los conjuntos se encierran entre
llaves `{}`. Son útiles para almacenar valores distintos y realizar operaciones con conjuntos.

Utiliza el método `discard()` para eliminar un elemento específico del conjunto. Ignora si el elemento no se
encuentra.
El método `issubset()` comprueba si el conjunto actual es un subconjunto de otro conjunto. Devuelve True
si todos los elementos del conjunto actual están presentes en el otro conjunto, en caso contrario False.

El método `issuperset()` comprueba si el conjunto actual es un superconjunto de otro conjunto. Devuelve


True si todos los elementos del otro conjunto están presentes en el conjunto actual, en caso contrario False.

El método `pop()` elimina y devuelve un elemento arbitrario del conjunto. Lanza un `KeyError` si el conjunto
está vacío. Utiliza este método para eliminar elementos cuando el orden no importa.

Utiliza el método `remove()` para eliminar un elemento específico del conjunto. Lanza un `KeyError` si no
se encuentra el elemento.

El método `update()` añade elementos de otro iterable al conjunto. Mantiene la unicidad de los elementos.
Realiza varias operaciones con conjuntos: `unión`, `intersección`, `diferencia`, `diferencia asimétrica`.

Diccionario

#Diccionario

Los diccionarios son un tipo de colección en Python, un diccionario tiene claves y valores.

La clave es análoga al índice, son como direcciones, pero no tienen que ser enteros, suelen ser
caracteres. Los valores son similares a los elementos de una lista y contienen información.

Para crear un diccionario:


●​ utilizamos llaves que son los primeros elementos “{}”, deben ser inmutables y únicos.
●​ Cada clave va seguida de un valor separado por dos puntos.
●​ Los valores pueden ser inmutables, mutables y duplicados.
●​ Cada par de clave y valor va separado por una coma

Considere el siguiente ejemplo de diccionario.

El título del álbum es la clave, y el valor son los datos publicados. Podemos utilizar el amarillo para
resaltar las claves y dejar los valores en blanco.
Es útil utilizar la tabla para visualizar un diccionario en el que la primera columna representa las
claves y la segunda los valores.

También podemos asignar el diccionario a una variable.

La clave se utiliza para ver el valor,


utilizamos corchetes. El argumento es la
clave, así se obtiene el valor.
●​ Utilizando la clave «Back in Black», se
obtiene el valor 1980.
●​ La clave «El lado oscuro de la luna» nos
da el valor de 1973.
●​ Usando la clave, «El guardaespaldas,»
nos da el valor de 1992 y así sucesivamente.

Podemos añadir una nueva entrada al diccionario de la siguiente manera.

Esto añadirá el valor 2007 con una nueva clave llamada «Graduación».

Podemos eliminar una entrada de la siguiente manera.

Esto elimina la clave «Thriller» y su valor.

Podemos verificar si un elemento está en el diccionario utilizando el comando «in» de la siguiente


manera:

1.​ El comando comprueba las claves.


2.​ Si están en el diccionario, devuelve un True.
3.​ Si intentamos el mismo comando con una clave que no está en el diccionario, obtenemos un false.

Para ver todas las claves del diccionario, podemos utilizar el método keys para obtener las claves.

La salida es un objeto tipo lista con todas las claves.


Podemos obtener los valores utilizando el método values.

Conjuntos

#Establecer

Los conjuntos son un tipo de colección.


●​ Esto significa que, al igual que las listas y las tuplas, pueden introducir diferentes tipos de Python.
A diferencia de las listas y tuplas, no están ordenados.
●​ Esto significa que los conjuntos no registran la posición de los elementos.
Los conjuntos sólo tienen elementos únicos.
●​ Esto significa que sólo hay uno de un elemento concreto en un conjunto.

Para definir un conjunto, se utilizan llaves {}, los elementos se colocan dentro de las llaves.

Se observa que hay elementos duplicados, cuando se cree el conjunto, no habrá elementos
duplicados.

Puede convertir una lista en un conjunto utilizando la función conjunto, lo que se denomina conversión
de tipos, sólo tiene que utilizar la lista como entrada de la función set, el resultado será una lista
convertida en un conjunto. Veamos un ejemplo.
●​ Empezamos con una lista.
●​ Introducimos la lista en la función conjunto.
●​ La función conjunto devuelve un conjunto.
●​ Observa que no hay elementos duplicados.

Repasemos las operaciones de conjunto, éstas


pueden usarse para cambiar el conjunto.
Consideremos el conjunto A, representemos este
conjunto con un círculo, si estás familiarizado con
los conjuntos, esto podría ser parte de un
diagrama de Venn. Un diagrama de Venn es una
herramienta que utiliza formas para representar
conjuntos, podemos añadir un elemento a un
conjunto utilizando el método add, simplemente ponemos el nombre del conjunto seguido de un punto , y
luego el método add (A.add(“Lo que queremos agregar”)). El argumento es el nuevo elemento del
conjunto que queremos añadir, en este caso, NSYNC. El conjunto A tiene ahora en NSYNC como elemento.
Si añadimos el mismo elemento dos veces, no pasará nada, ya que no puede haber duplicados en un
conjunto.

Supongamos que queremos eliminar NSYNC del conjunto A, podemos eliminar un elemento de un
conjunto utilizando el método remove, simplemente ponemos el nombre del conjunto seguido de un punto,
y a continuación el método remove (A.remove(“Lo que queremos eliminar”)). El argumento es el
elemento del conjunto que queremos eliminar, en este caso, NSYNC, después de aplicar el método
remove al conjunto, el conjunto A no contiene el elemento NSYNC, puedes utilizar este método para
cualquier elemento del conjunto.

Podemos verificar si un elemento está en el conjunto utilizando el comando in de la siguiente manera,


“Lo que estamos buscando dentro del conjunto” in El conjunto en el que buscamos.
●​ El comando comprueba que el elemento, en este caso AC/DC, está en el conjunto A (“AC/DC” in A).
●​ Si el elemento está en el conjunto, devuelve verdadero (True).
●​ Si buscamos un elemento que no está en el conjunto, en este caso el elemento Who (“Who in A”),
cómo el elemento no está en el conjunto, obtendremos un falso (False).

Estos son tipos de operaciones matemáticas con conjuntos, hay otras operaciones que podemos hacer,
ejemplo:
●​ Definamos el conjunto “álbum” conjunto uno, podemos representarlo mediante un círculo rojo o un
diagrama de Venn.
●​ Podemos definir el conjunto “álbum” conjunto dos, podemos representarlo utilizando un círculo azul
o un diagrama de Venn.
●​ La intersección de dos conjuntos es un nuevo conjunto que contiene elementos que están en
ambos conjuntos, es útil utilizar diagramas de Venn.
●​ Los dos círculos que representan los conjuntos se combinan, el solapamiento, representa el
nuevo conjunto, como el solapamiento está formado por el círculo rojo y el círculo azul, definimos la
intersección en términos de Y (&).
●​ En Python, utilizamos un ampersand (&) para encontrar la intersección de los dos conjuntos.
●​ Si superponemos los valores del conjunto colocando los elementos comunes en la zona de
superposición, vemos la correspondencia, tras aplicar la operación de intersección, desaparecen
todos los elementos que no están en ambos conjuntos, en Python, simplemente colocamos el
ampersand (&) entre los dos conjuntos. El resultado es un nuevo conjunto “álbum”: conjunto tres que
contiene todos los elementos tanto del conjunto “álbum” uno como del dos.

●​ La unión de dos conjuntos es el nuevo conjunto de elementos que contiene todos los elementos
de ambos conjuntos, podemos encontrar la unión de los conjuntos álbum conjunto uno y dos de la
siguiente manera.

El resultado es un nuevo conjunto que tiene todos los elementos del conjunto “álbum” uno y
dos.

●​ Podemos comprobar si un conjunto es un subconjunto


utilizando el método issubset, como el conjunto de álbumes
tres es un subconjunto del conjunto de álbumes uno, el resultado
es verdadero (True.
#Hoja de Trucos: Estructuras de Datos Parte-2

Un diccionario es un tipo de datos incorporado que representa una colección de pares clave-valor.
Los diccionarios se encierran entre llaves {}.

Puede acceder a los valores de un diccionario utilizando sus claves correspondientes.

Inserta un nuevo par clave-valor en el diccionario, si la clave ya existe, se actualizará el valor; en caso
contrario, se creará una nueva entrada.

Elimina del diccionario el par clave-valor especificado, genera un KeyError si la clave no existe.

El método update() fusiona el diccionario proporcionado con el diccionario existente, añadiendo o


actualizando pares clave-valor.

El método clear() vacía el diccionario, eliminando todos los pares clave-valor que contiene, tras esta
operación, el diccionario sigue siendo accesible y puede seguir utilizándose.


Puede comprobar la existencia de una clave en un diccionario utilizando la palabra clave in

Crea una copia superficial del diccionario. El nuevo diccionario contiene los mismos pares clave-valor
que el original, pero siguen siendo objetos distintos en memoria.


Recupera todas las claves del diccionario y las convierte en una lista, útil para iterar o procesar claves
usando métodos de lista.


Extrae todos los valores del diccionario y los convierte en una lista, esta lista puede utilizarse para su
posterior procesamiento o análisis.

Recupera todos los pares clave-valor como tuplas y los convierte en una lista de tuplas, cada tupla
consta de una clave y su valor correspondiente.

Set - Conjuntos

Se pueden añadir elementos a un conjunto utilizando el método `add()`, los duplicados se eliminan
automáticamente, ya que los conjuntos sólo almacenan valores únicos.
El método `clear()` elimina todos los elementos del conjunto, dando como resultado un conjunto vacío.
Actualiza el conjunto en su lugar.

El método `copy()` crea una copia superficial del conjunto, cualquier modificación en la copia no afectará
al conjunto original.

Un conjunto es una colección desordenada de elementos únicos. Los conjuntos se encierran entre
llaves `{}`. Son útiles para almacenar valores distintos y realizar operaciones con conjuntos.

Utilice el método `discard()` para eliminar un elemento específico del conjunto. Ignora si el elemento
no se encuentra.

El método `issubset()` comprueba si el conjunto actual es un subconjunto de otro conjunto. Devuelve


True si todos los elementos del conjunto actual están presentes en el otro conjunto, en caso contrario False.

Operaciones con conjuntos Realiza varias operaciones con conjuntos: `unión`, `intersección`,
`diferencia`, `diferencia asimétrica`.
El método `issuperset()` comprueba si el conjunto actual es un superconjunto de otro conjunto.
Devuelve True si todos los elementos del otro conjunto están presentes en el conjunto actual, en caso
contrario False.

El método `pop()` elimina y devuelve un elemento arbitrario del conjunto. Lanza un `KeyError` si el
conjunto está vacío. Utiliza este método para eliminar elementos cuando el orden no importa.

Utiliza el método `remove()` para eliminar un elemento específico del conjunto. Lanza un `KeyError` si
no se encuentra el elemento.

El método `update()` añade elementos de otro iterable al conjunto. Mantiene la unicidad de los
elementos.

También podría gustarte