1.1. Manual - Machine - Learning - Python
1.1. Manual - Machine - Learning - Python
Parte 1
Índice de contenidos
Introducción a Python ........................................................................................................................................................... 3
¿Qué es Python? .......................................................................................................................................................... 3
Configuración del entorno de aprendizaje automático de Python .............................................................................. 4
El entorno gráfico IDLE de Python ............................................................................................................................... 7
Primeros pasos con Python ....................................................................................................................................... 14
Funciones incorporadas del diccionario de Python ................................................................................................... 65
Combinación de diccionarios ..................................................................................................................................... 67
Página 2 de 87
Introducción a Python
¿Qué es Python?
Python es un lenguaje de programación orientado a objetos que fue desarrollado por Guido van Rossum en Stichting
Mathematisch Centrum, que tiene las todas las capacidades de un lenguaje de programación de alto nivel. Su sintaxis es fácil
de aprender y con una capacidad de portabilidad que lo hace ágil hasta el día de hoy
Es un lenguaje interpretado
Lo que significa que el código fuente del programa se convierte primero en código de bytes y luego se ejecuta en la
máquina virtual de Python.
Fortalezas de Python
Según estudios y encuestas, Python es el quinto lenguaje más importante, así como el lenguaje más popular para el aprendizaje
automático y la ciencia de datos. Ello es debido a las siguientes fortalezas:
Lenguaje multipropósito
Es un lenguaje de programación multipropósito porque admite programación estructurada, programación orientada a
objetos y programación funcional.
Escalabilidad
Página 3 de 87
Python es un lenguaje de programación escalable porque proporciona una estructura mejorada para admitir programas
más grandes.
Desventajas de Python
1. Aunque Python es un lenguaje de programación popular y poderosa, tiene su propia debilidad de velocidad.
2. La velocidad de ejecución de Python es lenta en comparación con los lenguajes compilados porque es un lenguaje
interpretado.
En esta parte del apartado, vamos a configurar el entorno de aprendizaje automático de Python y las bibliotecas o librerías
necesarias, como NumPy, SciPy, Matplotlib, etc.
Instalación Python
1
Vamos al sitio oficial de Python para su descarga, en nuestro caso hemos utilizado la versión estable de Python 3.7. clicando aquí.
2
Aquí pulsamos para descargar el instalador más adecuado según la arquitectura de nuestro ordenador. En nuestro caso hemos
optado por “Windows x86-64 ejecutable installer”
3
Una vez descargado, lo ejecutamos como administrador. A continuación nos saldrá una ventana en donde debemos rellenar el
recuadro Add Python 3.7 to PATH. Luego nos vamos a customize instalation.
Página 4 de 87
4
En la siguiente ventana nos cercioramos que todas las casillas están seleccionadas. Seleccionamos
5
Aquí oprimimos en Next y nos aseguramos que la primera casilla Installl for all Users está seleccionada y la localización la dejamos
tal cual como está.
Página 5 de 87
6
A continuación pulsamos en install y esperamos que el asistente instale el programa.
7
Una vez instalado abrimos la sección de inicio y escribimos en el buscador CMD. Aquí nos abrirá el terminal de Windows,
posteriormente escribimos el siguiente comando para verificar que se ha instalado de forma
correcta: python --version
Al trabajar con Machine learning, necesitaremos algunas bibliotecas de Python. Para instalarlas solo debemos ir a Inicio en la
parte inferior derecha del escritorio, y escribir CMD para que nos abra el terminal o consola de Windows. A continuación
instalaremos las más importantes:
Matplotlib
Página 6 de 87
Es una biblioteca de Python para graficar y tiene NumPy como extensión matemática. Para instalarla escribimos el siguiente
comando en el CMD:
pip Install numpy
NumPy
Es una biblioteca de Python que nos permitirá manejar arreglos y matrices multidimensionales. Además ofrece múltiples
funciones matemáticas de alto nivel para operar en estos. Para instalarla utilizamos el mismo proceso anterior y escribimos el
siguiente comando en el CMD:
pip Install numpy
Pandas
Es una biblioteca de software para Python que resulta útil cuando se trabaja con análisis y manipulación de datos. Para instalarla
escribimos el siguiente comando en el CMD:
pip install pandas
Seaborn
Esta es una biblioteca para la visualización de datos y se basa en Matplotlib. Ofrece una interfaz de alto nivel para trazar gráficos
estadísticos que son atractivos e informativos. Para instalarla escribimos el siguiente comando en el CMD:
pip Install seaborn
Scikit-learn
Esta es una biblioteca de ML de software gratuito para Python. Ofrece facilidades como algoritmos de clasificación, regresión y
agrupamiento. Para instalarla escribimos el siguiente comando en el CMD:
pip install scikit-learn
1
Una vez instaladas la bibliotecas, abrimos el IDLE de Phyton con el acceso directo ubicado en programas en Inicio > Python 3.7
> IDLE (Python 64-bit), se abrirá la ventana principal de IDLE, como se muestra la siguiente imagen.
Página 7 de 87
2
Esta ventana también nos indica en la parte superior la versión de Python instalada. Nota: La ventana de IDLE tiene un tamaño
predeterminado de 80 x 20 caracteres que se puede modificar con el menú Options > Configure IDLE > Windows.
3
La ventana principal de IDLE, es un entorno interactivo o consola de Python en la que se pueden escribir órdenes de Python a la
derecha del símbolo de petición >>> (en inglés, prompt).
Al pulsar <ENTER>, IDLE ejecutará la orden inmediatamente. Si la orden produce algún resultado, éste se mostrará en color azul
y sin el símbolo de petición. Por ejemplo, se puede comprobar que Python sabe sumar dos más dos, para ello escribimos:
2+2
4
Y al pulsar <ENTER> nos da como respuesta: 4
Página 8 de 87
5
Al terminar de ejecutar la orden, el IDLE vuelve a mostrar el símbolo de petición, en espera de una nueva
orden. Es decir, “>>>”
En el entorno interactivo de IDLE se pueden recuperar órdenes anteriores mediante los atajos de teclado que se exponen a
continuación:
El IDLE es también un editor de programas elemental, que permite redactar programas, guardarlos en archivos y ejecutarlos.
La ventana principal de IDLE es siempre el entorno interactivo o consola, pero también es la ventana donde se ejecutarán los
programas. Vamos a ver los apsos para crear un archivo:
1
Para crear un archivo de programa con IDLE, abrimos una nueva ventana mediante el menú File > New File o con el atajo de
teclado Ctrl+N.
Página 9 de 87
2
Al elegir esta opción se abrirá una nueva ventana como nos muestra la siguiente imagen. En esta ventana ya no aparece el
símbolo de petición porque es simplemente un editor de texto (que colorea el código de Python). Es por ello, que los menús
de esta ventana no son los mismos que los de la ventana principal o consola del
IDLE.
3
Para probarlo podemos escribir lo siguiente:
print("Hola, mundo")
print("Adiós, mundo")
4
Observemos en esta ventana, cuando pulsamos <ENTER>, no se ejecuta la orden como ocurre en el entorno interactivo de consola,
sino que simplemente se pasa a la línea siguiente.
Página 10 de 87
5
Para ejecutar esta orden, lo primero que debemos hacer es guardar el programa, pulsando sobre la opción del menú File > Save
o File > Save As o utilizar el atajo de teclado Ctrl+S o Ctrl+Shift+S.
6
La primera vez que guardamos un programa se abrirá la ventana de diálogo estándar de Windows. Solo debemos elegir la
carpeta y el nombre del archivo. La extensión habitual de los programas de Python es con la extencion “.py”. Si no escribimos
la extensión, el IDLE la añadirá automáticamente.
Página 11 de 87
7
Una vez guardado el programa, el nombre del archivo aparece en la barra de título de la ventana.
Tanto en el entorno interactivo como al editar un programa, IDLE colorea el texto de acuerdo con su sintaxis. Los colores ayudan
a identificar los distintos tipos de elementos y a localizar errores. Por ejemplo:
Las palabras reservadas de Python (las que forman parte del lenguaje) se muestran en color naranja.
Página 12 de 87
• Ejecutar programas de Python en IDLE
1
Para poder ejecutar un programa elaborado en IDLE, primero es necesario guardarlo. Una vez guardado, se puede ejecutar
mediante la opción del menú Run > Run module (o también con pulsar la tecla F5).
2
A continuación, se mostrará el resultado del programa en la ventana principal del IDLE (consola).
Si al ejecutar una instrucción o un programa se produce algún error o se encuentra algún error de sintaxis. Python genera un
mensaje de error en inglés que indica dónde se ha producido el error y una descripción del tipo de error. El mensaje de error
se muestra en una ventana emergente o en la ventana principal de IDLE.
El siguiente ejemplo es un ejemplo de error de sintaxis, en donde faltan los paréntesis que deben rodear los argumentos de
cualquier función, en este caso, la función print(). Si se trata de un error de sintaxis, el origen del error puede encontrarse
exactamente en el punto donde indica Python, pero también puede encontrarse en un punto anterior del programa que Python
no puede identificar.
Por ejemplo, si una cadena no se cierra, Python indicará que al final del programa ha encontrado una cadena sin cerrar, pero
Python no puede identificar dónde deberíamos haber cerrado la cadena. Si la instrucción se ha escrito en el entorno
interactivo/consola, el mensaje de error se muestra en la ventana de IDLE. En nuestro caso hemos escrito print ”hola”
obteniendo el siguiente error:
Página 13 de 87
Ahora, si la misma orden se ha escrito en un programa:
Después de guardarlo y antes ejecutarlo, se comprueba su sintaxis y este error se detectará antes de ejecutar el programa, y la
consola del IDLE muestra el mensaje de error en una ventana emergente:
Imprimir en phyton
La función print() en Python se usa para imprimir un mensaje específico en la pantalla. El comando de impresión en Python
imprime cadenas u objetos que se convierten en una cadena mientras se imprime en una pantalla. Sintaxis:
print(objeto(s))
• Resultado:
Página 14 de 87
Si se desea imprimir el nombre de cinco países, podemos escribir:
print("Estados Unidos")
print ("Canadá")
print("Alemania")
print("Francia")
print("Japón")
• Resultado:
• O también:
print ("\n\n\n\n\n\n\n\n\n")
• Si queremos escribir el mismo número anterior entre estos dos “Bienvenidos al curso”, colocamos:
print ("Bienvenidos al curso")
print (8 * "\n")
print ("Bienvenidos al curso ")
• Resultado:
Página 15 de 87
• Comando para fin de impresión
De forma predeterminada, la función de impresión en Python termina con una nueva línea. Esta función viene con un
parámetro llamado 'end'. El valor predeterminado de este parámetro es '\n', es decir, el carácter de nueva línea. Puede finalizar
una declaración de impresión con cualquier carácter o cadena usando este parámetro.
Ejemplo 1
Finaliza la salida con '!’
print ("Bienvenidos al", end = ' ')
print ("Curso", end = '!')
• Resultado:
Ejemplo 2
Finaliza la salida con '@.'
print ("Python", end = '@')
• Resultado:
Página 16 de 87
Variables de Python: cómo definir/declarar tipos de variables de cadena
Una variable de Python es una ubicación de memoria reservada para almacenar valores. En otras palabras, una variable en un
programa de python proporciona datos al ordenador para su procesamiento.
• Resultado:
• Resultado:
Página 17 de 87
Concatenación de cadenas y variables
Podemos concatenar diferentes tipos de datos, como cadenas y números.
A diferencia de Java, que concatena el número con la cadena sin declarar el número como cadena, la declaración de variables
en Python requiere declarar el número como cadena; de lo contrario, mostrará un TypeError.
• Ejemplo:
f = 0
print(f)
f = 'Curso99'
print(f)
print("Curso"+99)
• Resultado:
• Resultado:
Página 18 de 87
• Tipos de variables de Python: local y global
Hay dos tipos de variables en Python, variable global y variable local. Cuando se desea utilizar la misma variable para el resto
de su programa o módulo, la declara como una variable global, mientras que si desea utilizar la variable en una función o
método específico, se utiliza una variable local durante la declaración de variables en Python.
Entendamos estos tipos de variables de Python con la diferencia entre variables locales y globales en el siguiente programa:
Para ello:
• Definimos la variable en Python donde la variable "f" tiene un alcance global y se le asigna el valor 101 que se imprimirá en
la salida.
• La variable " f " se declara nuevamente en función y asume un alcance local. Se le asigna el valor “Aprendiendo Python”.
que se imprime como salida. Esta variable de declaración de es diferente de la variable global "f" definida anteriormente.
• Una vez que finaliza la llamada a la función, la variable local "f" se destruye. Cuando volvemos a imprimir el valor de "f",
muestra el valor de la variable global f = 101
Ejemplo:
f = 101
print(f)
def someFunction():
f = 'Aprendiendo python'
print(f)
someFunction()
print(f)
Resultado:
Mientras que en la declaración de variables de Python hemos usado la palabra clave global, también podemos hacer referencia
a la variable global dentro de una función.
Página 19 de 87
En donde:
• La variable "f" es global y se le asigna el valor 101 que se imprime en la salida.
• La variable “f” se declara usando la palabra clave global. Esta NO es una variable local, sino la misma variable global
declarada anteriormente. Por lo tanto, cuando imprimimos su valor, la salida es 101.
• Cambiamos el valor de “f” dentro de la función. Una vez que finaliza la llamada a la función, el valor modificado de la variable
"f" persiste. Cuando volvemos a imprimir el valor de "f", nos muestra el valor "Cargando variable global"
Ejemplo:
f = 101;
print(f)
def someFunction():
global f
print(f)
f = "Cargando variable global"
someFunction()
print(f)
Resultado:
También podemos eliminar variables de Python usando el comando “del” + "nombre de variable".
En el siguiente ejemplo, vamos a eliminar la variable “f”, y cuando procedamos a imprimirla vamos a obtener el error "NameError:
name ‘f’ is not defined"; lo que significa que se ha eliminado la variable en la memoria.
Ejemplo de variable de eliminación de Python o variable de
eliminación
f = 11;
print(f)
del f
print(f)
Resultado
En resumen...
Como cualquier otro lenguaje de programación, Python también usa una variable para almacenar la información.
Página 20 de 87
Las variables se pueden declarar por cualquier nombre o incluso alfabetos como a, aa, abc, etc.
Las variables se pueden volver a declarar incluso después de haberlas declarado una vez.
Las constantes de Python se pueden entender como tipos de variables que contienen el valor que no se puede
cambiar. Por lo general, se hace referencia a las constantes de Python desde otros archivos. Python define
constante se declara en un archivo nuevo o separado que contiene funciones, módulos, etc.
Se declara una variable local cuando se quiera utilizar para una función actual.
Se declara una variable global cuando se quiera utilizar la misma variable para el resto del programa.
• Operadores aritméticos
Los operadores aritméticos realizan varios cálculos aritméticos como suma, resta, multiplicación, división, % módulo,
exponente, etc. Existen varios métodos para el cálculo aritmético en Python, como la utilización de las funciones eval, declarar
variable y calcular, o llamar a funciones.
Para los operadores aritméticos, tomaremos el siguiente ejemplo simple de suma. En donde sumaremos dos dígitos: 4+5 cuyo
resultado será 9.
Ejemplo:
x= 4
y= 5
print(x + y)
Resultado:
Página 21 de 87
De manera similar, podemos utilizar otros operadores aritméticos como multiplicación (*), división (/), resta
(-), etc.
• Operadores de comparación
En Python se comparan los valores a ambos lados del operando y determina la relación entre ellos. Esto es lo se conoce como
operadores relacionales. Como operadores de comparación en Python tenemos los siguientes:
==, != , <>, >,<=, etc.
Para el uso de los operadores de comparación, compararemos el valor de “x” con el valor de “y” e imprimiremos el resultado
como verdadero o falso. Aquí, en el ejemplo, nuestro valor de x = 4, es más pequeño que y = 5, por lo que cuando vayamos a
imprimir el valor de x>y, comparará el valor de “x” con “y”, y dado que no es correcto, devolverá falso.
Ejemplo:
x = 4
y = 5
print(('x > y es',x>y))
Resultado:
Asimismo, podemos probar otros operadores de comparación (x < y, x==y, x!=y, etc.)
Página 22 de 87
Los operadores de asignación en Python se utilizan para asignar el valor del operando derecho al operando izquierdo. Varios
operadores de asignación utilizados en Python son:
+=, – =, *=, /=, etc.
Por ejemplo:
num1 = 4
num2 = 5
print("Línea 1 - Valor de num2: ", num1)
print("Línea 2 - Valor de num2: ", num2)
Resultado:
También podemos usar un operador de asignación compuesto, donde podemos sumar, restar, multiplicar el operando derecho
por el izquierdo y asignar la suma (o cualquier otra función aritmética) al operando izquierdo.
Ejemplo:
num1 = 4
num2 = 5
Resultado:
Los operadores lógicos en Python se usan para que las declaraciones condicionales sean verdaderas o falsas. Los operadores
lógicos en Python son:
AND, OR y NOT.
Página 23 de 87
Para los operadores lógicos se aplican las siguientes condiciones.
• Para el operador AND: devuelve VERDADERO si ambos operandos (lado derecho e izquierdo) son verdaderos.
• Para el operador OR: devuelve VERDADERO si cualquiera de los operandos (lado derecho o lado izquierdo) es verdadero.
• Para el operador NOT: devuelve VERDADERO si el operando es falso. A continuación, obtenemos verdadero o falso en
Ejemplo:
a = True
b = False
print('a y b son',a and b)
print('a o b son',a or b)
print('a no es ',not a)
Resultado:
• Operadores de membresía
Estos operadores comprueban la pertenencia a una secuencia, como listas, cadenas o tuplas. Hay dos operadores de membresía
que se usan en Python.
in, not in
Estos Otorgan el resultado basado en la variable presente en la secuencia o cadena especificada. A continuación vamos a
comprobar si el valor de x=4 y el valor de y=8 están disponibles en la lista o no, utilizando los operadores “in” y “not in”.
Ejemplo:
x = 4
y = 8
list = [1, 2, 3, 4, 5 ]; if ( x in list ): print("línea 1 -
x está disponible en la lista dada: ") else: print("Línea 1
- x no está disponible en la lista dada:") if ( y not in
list ): print("Línea 2 - y no está disponible en la lista
dada:") else: print("Línea 2 - y está disponible en la
lista dada:")
Resultado:
Página 24 de 87
En donde:
• Se declarar el valor de x e y.
• Se utiliza el operador "in" en el código con la declaración “if” para verificar el valor de “x” existente en la lista e imprimir el
resultado.
• Se utiliza el operador "no en" en el código con la declaración “if” para verificar que el valor de “y” existe en la lista e imprimir
el resultado.
• Operadores de identidad
Los operadores de identidad en Python se utilizan para comparar la ubicación de memoria de dos objetos. Los dos operadores de
identidad usados en Python son:
is, is not
• El operador “is”: Devuelve verdadero si dos variables apuntan al mismo objeto y falso en caso contrario.
• El operador “no is”: Devuelve falso si dos variables apuntan al mismo objeto y verdadero en caso contrario.
Los siguientes operandos están en orden de precedencia decreciente:
Resultado:
Página 25 de 87
En donde:
• Se declara el valor de las variables “x” e “y".
• Se utiliza el operador "if" para verificar si el valor de “x” es el mismo que el de “y”.
• Se utiliza el operador "is not" en el código si el valor de “x” no es el mismo que “y”.
• Operadores de precedencia
La precedencia de operadores determina qué operadores deben evaluarse primero. Los operadores de precedencia son
necesarios para evitar la ambigüedad en los valores. Al igual que en el método de multiplicación normal, la multiplicación tiene
mayor precedencia que la suma. Por ejemplo en 3+ 4*5, la respuesta es 23.
Para cambiar el orden de precedencia usamos los paréntesis (3+4)*5. En donde, cambia la respuesta a 35. Los operadores de
precedencia usados en Python son:
+ – ~, **, * / %, + – ,&, etc.
Ejemplo:
v = 4
w = 5
x = 8
y = 2
z = 0
z = (v+w) * x / y;
print("El valor de: (v+w)*x)/y) es: ", z)
Resultado:
• El código se ejecutará y calculará la variable con mayor prioridad y nos dará el resultado.
En resumen......
Los operadores en un lenguaje de programación se utilizan para realizar varias operaciones en valores y variables. Para ello
debemos:
Página 26 de 87
Utilizar varios métodos para el cálculo aritmético, se puede utilizar la función eval, declarar variable y calcular o llamar a
funciones.
Los operadores de comparación, a menudo denominados operadores relacionales, se utilizan para comparar los valores
a cada lado de ellos y determinar la relación entre ellos.
Los operadores de asignación de Python son simplemente para asignar el valor a la variable.
Python también nos permite usar un operador de asignación compuesto, en un cálculo aritmético complicado, donde se
puede asignar el resultado de un operando al otro.
Para el operador AND: devuelve VERDADERO si ambos operandos (lado derecho e izquierdo) son verdaderos
Para el operador OR: devuelve VERDADERO si cualquiera de los operandos (lado derecho o lado
izquierdo) es verdadero
Hay dos operadores de membresía que se usan en Python: in, not in.
Se devuelve verdadero si dos variables apuntan al mismo objeto y falso en caso contrario.
El operador de precedencia puede ser útil cuando tengamos que establecer la prioridad para qué cálculo debe realizarse
primero en un cálculo complejo.
Si dos variables son de diferentes tipos pero tienen los mismos valores en sí mismas, entonces el operador “not equal” devuelve
un verdadero. No muchos lenguajes de programación pueden clasificarlo como verdadero si el tipo de variable es de un tipo
diferente, lo que hace de Python un lenguaje muy dinámico. En Python, los operadores “not equal” se pueden clasificar como
uno de los operadores de comparación.
• El segundo tipo, es "<>", y se utiliza en la versión 2 de Python. En la versión 3, este operador está en desuso. La sintaxis de
ambos tipos se muestra a continuación:
X!=Y
X<>Y
A continuación, mostraremos un ejemplo simple de operador no igual. En donde, consideramos dos escenarios para ilustrar el
operador no igual. El siguiente es el ejemplo de operador no igual para el mismo tipo de datos pero diferentes valores.
Página 27 de 87
Ejemplo 1:
A = 44
B = 284
C = 284
print(B!=A)
print(B!=C)
Resultado:
Ejemplo 2:
El siguiente es el ejemplo de un operador no igual para diferentes tipos de datos pero con los mismos valores.
C = 12222
X = 12222.0
Y = "12222"
print(C!=X)
print(X!=Y)
print(C!=Y)
Resultado:
Página 28 de 87
Utilizar el operador no igual con la instrucción “IF”
En python, una declaración “if” se puede describir como una declaración que verifica la condición de nivel de entrada y se
ejecuta cuando es verdadera. Tomemos un ejemplo básico del uso de la declaración “if” y un “not equal” al operador como se
muestra a continuación:
Ejemplo:
X = 5
Y = 5
if ( X != Y ):
print("X no es igual a Y")
else:
print("X es igual a Y")
Resultado:
Página 29 de 87
Aquí, not equal a (!=) se utiliza junto con la instrucción if.
En python, el bucle while itera un bloque de código siempre que una condición sea verdadera o falsa. Tomemos un caso de
impresión de números impares usando el bucle while y el operador igual a “==” como se muestra a continuación:
Ejemplo:
m = 300
while m <= 305:
m = m + 1
if m%2 == 0:
continue
print (m)
Resultado:
En python, el ciclo while también se puede usar con un operador not equal. Tomemos un caso de impresión de números pares
usando el bucle while y not equal al operador como se muestra a continuación:
Ejemplo:
m = 300
while m <= 305:
m = m + 1
if m%2 != 0:
continue
print (m)
Resultado:
Página 30 de 87
Aquí, no igual a (!=) se utiliza junto con la instrucción if.
La declaración condicional en Python, realiza diferentes cálculos o acciones dependiendo si una restricción booleana específica
se evalúa como verdadera o falsa. Las declaraciones condicionales son manejadas por declaraciones if. If Statement se utiliza
para operaciones de toma de decisiones. Contiene un cuerpo de código que se ejecuta solo cuando la condición dada en la
declaración if es verdadera. Si la condición es falsa, entonces se ejecuta la declaración else opcional que contiene algún código
para la condición else.Cuando deseamos justificar una condición mientras que la otra condición no es verdadera, entonces
usamos la declaración if else de Python.
Sintaxis de la instrucción if de Python
Página 31 de 87
if expression
Statement
else
Statement
• La condición “if-else”
La declaración if-else se usa para ejecutar tanto la parte verdadera como la parte falsa de una condición dada. Si la condición
es verdadera, se ejecuta el código de bloque if y si la condición es falsa, se ejecuta el código de bloque else.
Ejemplo 1:
def main():
x,y =2,8
Página 32 de 87
if(x < y):
st= "x es menor que y"
print(st)
if __name__ == "__main__":
main()
Resultado:
En donde:
Ejemplo 2:
A continuación, veremos qué sucede cuando la condición if no se cumple.
def main():
x,y =8,4
if __name__ == "__main__":
main()
Resultado:
En donde:
• La línea print st intenta imprimir el valor de una variable que nunca se declaró. Por lo tanto, obtenemos un error.
• La condición else
La condición “else" generalmente se usa cuando tiene que juzgar una declaración sobre la base de otra. Si una condición sale mal,
entonces debe haber otra condición que justifique la declaración o la lógica.
Ejemplo 1:
Página 33 de 87
def main():
x,y =8,8
if(x < y):
st= "x es menor que y"
else:
st= "x es mayor que y"
print(st)
if __name__ == "__main__":
main()
Resultado:
Puede haber muchos casos en los que "else" no dé el resultado deseado. Imprimirá el resultado incorrecto ya que hay un error
en la lógica del programa. En la mayoría de los casos, esto sucede cuando se tiene que justificar más de dos declaraciones o
condiciones en un programa.
Un ejemplo nos ayudará mejor a entender este concepto: Aquí ambas variables son iguales (8,8) y la salida del programa es "x
es mayor que y", lo cual es INCORRECTO. Esto se debe a que verifica la primera condición “if”, y si falla, imprime la segunda
condición “else” como predeterminada. En el siguiente codigo, veremos cómo podemos corregir este error.
Ejemplo 2:
def main():
x,y =8,8
if __name__ == "__main__":
main()
Resultado:
Para corregir el error anterior cometido por "else condition", podemos usar la instrucción "elif". Al usar la condición "elif ", le
estamos diciendo al programa que imprima la tercera condición o posibilidad cuando la otra condición sale mal o es incorrecta.
Ejemplo:
Página 34 de 87
def main():
x,y =8,8
elif (x == y):
st= "x es gual a y"
else:
st="x es mayor que y"
print(st)
if __name__ == "__main__":
main()
Resultado:
En donde:
• El flujo de control del programa pasa a la condición elseif. Comprueba si x==y, que es cierto
• El flujo de control del programa sale de la declaración if (no llegará a la declaración else). E imprima la variable st. El
resultado es "x es igual que y", lo cual es correcto.
En este paso, veremos cómo podemos minimizar la declaración condicional. En lugar de ejecutar código para cada condición por
separado, podemos usarlos con un solo código. En lugar de escribir código largo para sentencias condicionales, Python nos da la
libertad de escribir código de forma breve y concisa. Su Sintaxis es:
A If B else C
Ejemplo:
def main():
x,y = 10,8
st = "x es menor que y" if (x < y) else "x es mayor o igual a y"
print(st)
if __name__ == "__main__":
main()
Resultado:
Página 35 de 87
En donde:
• La variable st se establece en "x es menor que y" si x<y o bien se establece en "x es mayor o igual que y". En esta variable
x>y, st se establece en "x es mayor o igual que y".
• Declaración if statement
Ejemplo 1:
total = 100
#country = "US"
country = "AU"
if country == "US":
if total <= 50:
print("El coste de envío es $50")
elif total <= 100:
print("El coste de envío es $25")
elif total <= 150:
print("Costes de envío $5")
else:
print("Gratis")
if country == "AU":
if total <= 50:
print("El coste de envío es $100")
else:
print("Gratis")
Resultado:
Ejemplo 2:
A continuación hemos descomentado la Línea 2 en el código anterior y comentado (#) la línea 3 y ejecutado el código nuevamente:
Página 36 de 87
total = 100
country = "US"
#country = "AU"
if country == "US":
if total <= 50:
print("El coste de envío es $50")
elif total <= 100:
print("El coste de envío es $25")
elif total <= 150:
print("Costes de envío $5")
else:
print("Gratis")
if country == "AU":
if total <= 50:
print("El coste de envío es $100")
else:
print("Gratis")
Resultado:
Una declaración de cambio es una declaración de bifurcación de varias vías que compara el valor de una variable con los valores
especificados en las declaraciones de caso.
La instrucción Switch
El lenguaje Python no tiene una declaración de cambio. Python usa el mapeo de diccionarios para implementar Switch en Python.
Sintaxis
function(argument){
switch(argument) {
case 0:
Ejemplo
Para el caso Switch anterior en Python utilizamos el siguiente código:
Página 37 de 87
def SwitchExample(argument):
switcher = {
0: " This is Case Zero ",
1: " This is Case One ",
2: " This is Case Two ",
}
return switcher.get(argument, "nothing")
if __name__ == "__main__":
argument = 1
print (SwitchExample(argument))
Resultado:
En resumen...
Una declaración condicional en Python es manejada por declaraciones if . A su vez hemos visto otras formas en las que podemos
usar declaraciones condicionales como if, else, etc. En donde:
If
Se utiliza cuando necesita imprimir el resultado cuando una de las condiciones es verdadera o falsa. else
Se usa cuando desea imprimir la declaración cuando su única condición no cumple con el requisito.
elif
Se utiliza cuando tiene una tercera posibilidad como resultado. Podemos usar múltiples condiciones elif para verificar
las posibilidades 4, 5 y 6 en su código.
Podemos utilizar código mínimo para ejecutar declaraciones condicionales declarando todas las condiciones en una sola
declaración para ejecutar el código.
• El Bucle
Los bucles pueden ejecutar un bloque de código varias veces hasta que se cumpla una determinada condición. Su uso es bastante
común en la programación, los cuales exponemos a continuación:
El bucle For
Se utiliza para iterar sobre elementos de una secuencia. A menudo se usa cuando tiene un fragmento de código que desea repetir
"n" veces.
El bucle while
Se utiliza para repetir un bloque de código. En lugar de ejecutar el bloque de código una vez, lo ejecuta varias veces hasta que se
cumple una determinada condición.
Página 38 de 87
• Uso de While
While hace exactamente lo mismo que la declaración "if statement", pero en lugar de ejecutar el bloque de código una vez, saltan
al punto donde comenzó el código y repite todo el proceso nuevamente. Sintaxis:
while expression
Statement
Ejemplo:
#Example file for working with loops
x=0
#define a while loop
while(x <4):
print(x)
x = x+1
Resultado:
Página 39 de 87
En donde: • La variable x se establece
en 0
Página 40 de 87
El ciclo while verifica la condición x<4. El valor actual de x es 0. La condición es verdadera. El flujo de control entra en
while Loop (bucle)
• Se imprime el valor de x.
• X se incrementa en 1.
• El flujo de control vuelve a la línea anterir. Ahora el valor de x es 1, que es menor que 4. La condición es verdadera y
nuevamente se ejecuta el bucle while. Esto continúa hasta que x se convierte en 4 y la condición while se vuelve falsa
• Uso de For
En Python, los "bucles for" se denominan iteradores. Al igual que el ciclo while, "For Loop" también se usa para repetir el
programa. Pero a diferencia del ciclo while, que depende de la condición verdadera o falsa. "For" depende de los elementos
que tiene que iterar.
Ejemplo:
#Example file for working with loops
#
x=0
#define a while loop
# while(x <4):
# print x
# x = x+1
Resultado:
Página 41 de 87
•
En donde:
Tenemos for para x en rango (2,7)
• Cuando se ejecuta este código, imprimirá el número entre 2 y 7 (2,3,4,5,6). En este código, el número 7 no se
considera dentro del rango.
Página 42 de 87
For también se puede usar para un conjunto de otros elementos y no solo para números. Veremos algunos ejemplos en la
siguiente sección.
En este paso, veremos cómo "for" también se puede además de los números. En este caso para entradas de índole alfabéticas.
Ejemplo:
Months = ["Jan","Feb","Mar","April","May","June"]
for m in Months:
print(m)
Resultado:
Página 43 de 87
•
Página 44 de 87
Uso de Break en For
Break es una función única en “For” que nos permite interrumpir o terminar la ejecución del bucle:
Ejemplo:
#use a for loop over a collection
#Months = ["Jan","Feb","Mar","April","May","June"]
#for m in Months:
#print m
Resultado:
Página 45 de 87
•
Página 46 de 87
Uso de instrucción continúa en For
La instrucción continua, como su nombre lo indica, finalizará la iteración actual del bucle for. No obstante, continuará la
ejecución de las iteraciones restantes.
Ejemplo:
#use a for loop over a collection
#Months = ["Jan","Feb","Mar","April","May","June"]
#for m in Months:
#print m
Resultado:
Página 47 de 87
•
La
Página 48 de 87
nuestro rango
(10,11,
12….19,20)
solo caen 3
números
(10,15,20)
que son
divisibles
por 5 y
el resto
NO.
Entonces,
excepto los
números
10,
15 y
20,
el
"bucle for"
no
continuará
e imprimirá
esos
números
como
salida.
Para ello:
La función integrada enumerate() se utiliza para asignar un índice a cada elemento del objeto iterable. Agrega un bucle en los
objetos iterables mientras realiza un seguimiento del elemento actual y devuelve el objeto en forma enumerable. Este objeto
se puede usar en un bucle for para convertirlo en una lista usando el método list().
Supongamos que queremos hacer la numeración de nuestro mes (enero, febrero, marzo,... junio), por lo que declaramos la
variable i que enumera los números, mientras que m imprimirá el número del mes en la lista.
Ejemplo:
#use a for loop over a collection
Months = ["Jan","Feb","Mar","April","May","June"]
for i, m in enumerate (Months):
print(i,m)
Página 49 de 87
Resultado:
Página 50 de 87
Cuando
Página 51 de 87
el
ciclo
For
para
el
resto
de los
meses a
enumerar.
Veamos otros ejemplos de For para repetir la misma declaración una y otra vez:
• Respuesta:
Página 52 de 87
Ejemplo simple del bucle For
x=0
for x in range (2,7):
print (x)
• Resultado:
Página 53 de 87
Página 54 de 87
Months = ["Jan","Feb","Mar","April","May","June"]
for m in (Months):
print (m)
• Resultado:
• Resultado:
Página 55 de 87
Uso de la instrucción continue en el ciclo For
for x in range (10,20):
if (x % 5 == 0): continue
print (x)
• Resultado:
Página 56 de 87
Página 57 de 87
Months = ["Jan","Feb","Mar","April","May","June"]
for i, m in enumerate (Months):
print (i,m)
• Resultado:
Podemos utilizar For incluso para repetir la misma declaración una y otra vez.
En el siguiente ejemplo, se imprime la palabra "Curso" tres veces. Para ello, hemos declarado el número en la variable i (i in
123). Entonces, cuando se ejecuta el código, imprime la declaración (Curso) que multiplica el número declarado para nuestra
variable en (i en 123).
Ejemplo:
for i in '123':
print ("Curso",i,)
Resultado:
Página 58 de 87
En resumen...
Al igual que otros lenguajes de programación, Python también usa un bucle, pero en lugar de usar un rango de bucles
diferentes, está restringido a solo dos bucles "While loop" y "for loop".
Mientras que los bucles se ejecutan en función de si la declaración condicional es verdadera o falsa.
Los bucles for se denominan iteradores, que itera el elemento en función del conjunto de condiciones
For loops también se puede usar para un conjunto de otras cosas (especificando la colección de elementos que queremos
recorrer).
El punto de interrupción se usa en For Loop para interrumpir o terminar el programa en cualquier punto en particular
Continuar declaración continuará imprimiendo la declaración e imprime el resultado según el conjunto de condiciones
Diccionario en Python
Un diccionario en Python es la colección desordenada y cambiable de valores de datos que contiene pares clave-valor. Cada
par clave-valor en el diccionario asigna la clave a su valor asociado, lo que la hace más optimizada. Un diccionario en Python
se declara encerrando una lista separada por comas de pares clavevalor usando llaves ({ }). Por último, se clasifica en dos
elementos: claves y valores.
En donde:
• Las llaves serán un solo elemento
• Los valores pueden ser una lista o una lista dentro de una lista, números, etc.
El diccionario se enumera entre corchetes, dentro de estos corchetes, se declaran las claves y los valores. Cada clave está
separada de su valor por dos puntos (:), mientras que las comas “,” separan cada elemento.
• Los valores en el diccionario pueden ser de cualquier tipo, mientras que las claves deben ser inmutables como números,
tuplas o cadenas.
• Las claves del diccionario distinguen entre mayúsculas y minúsculas: el mismo nombre de clave pero con diferentes
casos se tratan como claves diferentes en los diccionarios de Python.
Ejemplo:
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}
print((Dict['Tiffany']))
Resultado:
En donde:
• En el código, tenemos el nombre de diccionario "Dict".
• Declaramos el nombre y la edad de la persona en el diccionario, donde el nombre es "Claves" y la edad es el "valor".
Página 60 de 87
• Copiar un diccionario
También se puede copiar todo el diccionario en un nuevo diccionario. Por ejemplo, aquí hemos copiado nuestro diccionario
original al nuevo nombre de diccionario "Chicos" y "Chicas".
Ejemplo:
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}
Chicos = {'Tim': 18,'Charlie':12,'Robert':25}
Chicas = {'Tiffany':22}
estudianteX=Chicos.copy()
estudianteY=Chicas.copy()
print (estudianteX) print
(estudianteY)
Resultado:
En dónde:
• Al querer que la lista de Chicos esté separada de la lista de Chicas, debemos definir el elemento de estos en un diccionario
separado llamado "Chicos" y "Chicas".
• Ahora, nuevamente, hemos creado un nuevo nombre de diccionario "estudiante X" y "estudiante Y", donde todas las
claves y valores del diccionario de Chicos se copian en el estudiante X, y las Chicas se copiarán en el estudiante Y.
• Ahora no tenemos que buscar en la lista completa en el diccionario principal (Dict) para verificar quién es un Chico y
quién es una Chica, solo tenemos que imprimir el estudiante X si queremos la lista de Chicos y el estudiante Y para la
lista de Chicas.
• Al ejecutar el programa, el diccionario de estudiante X y estudiante Y, nos dará todos los elementos presentes en el
diccionario de "Chicos" y "Chicas" por separado.
• Diccionario de actualización
También se puede actualizar un diccionario agregando una nueva entrada o un par de clave-valor a una entrada existente o
eliminando una entrada existente. En el siguiente ejemplo, agregaremos otro nombre, "Sara" a nuestro diccionario existente.
Ejemplo:
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}
Dict.update({"Sara":9})
print(Dict)
Resultado:
Página 61 de 87
En donde:
El diccionario de Python nos da la libertad de eliminar cualquier elemento de la lista del diccionario. Supongamos que no
deseamos el nombre Charlie en la lista, por lo que podemos eliminar el elemento clave.
Ejemplo:
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}
del Dict ['Charlie']
print(Dict)
Resultado:
Cuando se ejecuta el código, nos imprime la lista de diccionarios sin Charlie. Para ello:
El método items() devuelve una lista de pares de tuplas (Claves, Valor) en el diccionario.
Página 62 de 87
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}
print("Nombre del estudiante: %s" % list(Dict.items()))
Resultado:
En donde:
• Cuando se ejecuta el código, devuelve una lista de elementos (claves y valores) del diccionario.
Para una lista determinada, también podemos verificar si nuestro diccionario secundario existe en el diccionario principal o no.
Aquí tenemos dos subdiccionarios "Boys" y "Girls", ahora queremos verificar si nuestro diccionario Boys existe en nuestro "Dict"
principal o no. Para eso, usamos el método for loop con el método else if.
Ejemplo:
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}
Chicos = {'Tim': 18,'Charlie':12,'Robert':25}
Chicas = {'Tiffany':22}
for key in list(Chicos.keys()):
if key in list(Dict.keys()):
print(True)
else:
print(False)
Resultado:
Página 63 de 87
Ejemplo:
En donde:
• El for loop en el código verifica cada clave en el diccionario principal para las claves de “Boys”.
• Si existe en el diccionario principal, debe imprimir verdadero o, de lo contrario, debe imprimir falso.
• Cuando ejecutamos el código, imprimirá "Verdadero" tres veces, ya que obtuvimos tres elementos en nuestro
diccionario "Boys". Indicando que "Boys" existe en nuestro diccionario principal (Dict).
• Ordenar el diccionario
En el diccionario, también se puede ordenar los elementos. Por ejemplo, si queremos imprimir alfabéticamente el nombre de
los elementos de nuestro diccionario, tenemos que usar el bucle for. Éste, ordenará cada elemento del diccionario en
consecuencia.
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}
Página 64 de 87
Chicos = {'Tim': 18,'Charlie':12,'Robert':25}
Chicas = {'Tiffany':22}
Estudiantes = list(Dict.keys())
Estudiantes.sort()
for S in Estudiantes:
print(":".join((S,str(Dict[S]))))
Resultado:
En donde:
• Luego usamos el código Students.sort, que ordenará el elemento dentro de nuestro diccionario
• Para ordenar cada elemento en el diccionario, ejecutamos un ciclo for declarando la variable S.
• Al ejecutar el código, el bucle for llamará a cada elemento del diccionario e imprimirá la cadena y el valor en un orden
Funciones incorporadas del diccionario de Python
Ejemplo:
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}
print("Longitud: %d" % len (Dict))
Resultado:
Página 65 de 87
Ejemplo:
Cuando se ejecuta la función len (Dict), da como resultado "4", ya que hay cuatro elementos en nuestro
diccionario
Tipos de variables
Python no requiere declarar explícitamente el espacio de memoria de reserva; sucede automáticamente. Se utilizan los valores
asignados a la variable “=” signo igual. El código para determinar el tipo de variable es "%type (Dict)".
Ejemplo:
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}
print("Tipo de variable: %s" %tipo (Dict))
Resultado:
En donde:
Diccionario Str(dict)
Resultado:
En donde:
Página 66 de 87
Combinación de diccionarios
A continuación, veremos cómo fusionar en un solo diccionario, dos diccionarios. Para ello contamos con los dos diccionarios
como se muestran a continuación:
Diccionario 1: my_dict2
my_dict1 = {"username": "XYZ", "email": "[email protected]", "location":"Mumbai"}
Diccionario 2: my_dict2
my_dict2 = {"firstName" : "Nick", "lastName": "Price"}
Para combinarlos solo debemos utilizar el método Update o el método **. Que expondremos a continuación.
El método update() nos ayudará a fusionar un diccionario con otro. En el ejemplo, actualizaremos my_dict1 con my_dict2.
Después de usar el método update(), my_dict1 tendrá el contenido de my_dict2 como se muestra a continuación:
Ejemplo:
my_dict1 = {"username": "XYZ", "email": "[email protected]", "location":"Mumbai"}
my_dict2 = {"firstName" : "Nick", "lastName": "Price"}
my_dict1.update(my_dict2)
print(my_dict1)
Página 67 de 87
Ejemplo:
Resultado:
Podemos probar si una clave está en presente dentro de un diccionario o no. Esta prueba se puede realizar solo en la clave de
un diccionario y no en el valor. La prueba de pertenencia se realiza mediante la palabra clave in.
Cuando se verifica la clave en el diccionario usando la palabra clave in, la expresión devuelve verdadero si la clave está presente
y falso si no lo está.
Ejemplo
my_dict = {"username": "XYZ", "email": "[email protected]", "location":"Mumbai"}
print("email" in my_dict)
Página 68 de 87
print("location" in my_dict)
print("test" in my_dict)
Resultado:
En resumen...
Los diccionarios en un lenguaje de programación son un tipo de estructura de datos utilizada para almacenar información
conectada de alguna manera.
Los diccionarios no almacenan su información en ningún orden en particular, por lo que es posible que no recuperemos
la información en el mismo orden en que la que se ingresó.
Las llaves serán un solo elemento.
Los valores pueden ser una lista o una lista dentro de una lista, números, etc.
Página 69 de 87
No se permite más de una entrada por clave (no se permiten claves duplicadas).
Los valores en el diccionario pueden ser de cualquier tipo, mientras que las claves deben ser inmutables como números,
tuplas o cadenas.
Listas en Python
Una lista es un contenedor que contiene diferentes objetos, que pueden ser números enteros, palabras, valores, etc. Es el
equivalente a una matriz en otros lenguajes de programación. Se representa entre corchetes (y este es uno de los atributos
que la diferencia de las tuplas, que se separan entre paréntesis). También es mutable, es decir, se puede modificar o actualizar;
a diferencia de las tuplas, que son inmutables.
Las listas de Python pueden ser homogéneas, lo que significa que pueden contener el mismo tipo de objetos; o heterogénea,
incluyendo diferentes tipos de objetos.
Para acceder a los valores dentro de las listas, se puede utilizar el índice de los objetos dentro de las listas.
Un índice en las listas de Python se refiere a la posición de un elemento dentro de una lista ordenada.
Ejemplo:
list = [3, 22, 30, 5.3, 20]
En donde:
Página 70 de 87
También se puede acceder al último miembro de una lista utilizando el índice -1. Por ejemplo:
list[-1] = 20
• Corte de lista
La división de listas es el método de dividir un subconjunto de una lista, y los índices de los objetos de la lista también se usan
para esto. Por ejemplo, usando el mismo ejemplo de lista anterior:
Ejemplo:
list[:] = [3, 22, 30, 5.3, 20] (all the members of the list];
list[1:3] = [22, 30] (members of the list from index 1 to index 3, without the
member at index 3);
list[:4] = [3, 22, 30, 5.3] (members of the list from index 0 to index 4, without
the member at index 4)
list[2:-1] = [30, 5.3] (members of the list from index 2, which is the third
element, to the second to the last element in the list, which is 5.3).
Listas de Python
Las listas de Python son exclusivas en el límite superior, y esto significa que el último índice durante el corte de la lista
generalmente se ignora. Es por ello que:
list[2:-1] = [30, 5.3]
Lo mismo ocurre con todos los demás ejemplos de corte de listas que se han expuesto arriba.
• Actualización de listas
Supongamos que se tiene una lista = [física, química, matemáticas] y deseamos cambiar la lista a [biología, química,
matemáticas], cambiando efectivamente el miembro en el índice 0. Eso se puede hacer fácilmente asignándole ese índice al
nuevo miembro.
Ejemplo 1:
list = ["biology", "physics", "chemistry", "mathematics"]
list[0] = "biology"
print(list)
Resultado:
Esto reemplaza el miembro en el índice 0 (física) con el nuevo valor que desea (química). Esto se puede hacer para cualquier
miembro o subconjunto de la lista que desee cambiar.
Ejemplo 2:
Digamos que se tiene una lista llamada enteros y que contiene los números [2, 5, 9, 20, 27]. Para reemplazar 5 en esa lista con
10, podemos realizarlo con el siguiente código:
Página 71 de 87
enteros = [2, 5, 9, 20, 27]
enteros[1] = 10
print(enteros)
Resultado:
Para reemplazar el último miembro de la lista de enteros, que es 27, con un número libre como 30,5, se puede recurrir al
siguiente código:
enteros = [2, 5, 9, 20, 27]
enteros[-1] = 30.5
print(enteros)
Resultado:
Hay 3 métodos de Python para eliminar elementos de lista: list.remove(), list.pop() y del operator. El método remove toma el
elemento particular que se eliminará como argumento, mientras que “pop” y “del” toman el índice del elemento que se
eliminará como argumento.
Ejemplo:
list = [3, 5, 7, 8, 9, 20]
Para agregar elementos a una lista, se usa el método append, y esto agrega el elemento al final de la misma.
Ejemplo 1:
list_1 = [3, 5, 7, 8, 9, 20]
list_1.append(3.33)
print(list_1)
Página 72 de 87
Resultado:
Ejemplo 2:
list_1 = [3, 5, 7, 8, 9, 20]
list_1.append("gatos")
print(list_1)
Resultado:
La siguiente es una lista de funciones y métodos integrados con sus descripciones: len(list): Esto da la
longitud de la lista como salida.
Ejemplo:
numbers = [2, 5, 7, 9]
print(len(numbers))
Resultado:
Resultado:
Página 73 de 87
numbers = [2, 5, 7, 9]
print (min (numbers))
Resultado:
Resultado:
Resultado:
Resultado:
Resultado:
Página 74 de 87
list.reverse (): invierte los objetos de la lista.
Ejemplo:
values = [2, 5, 7, 10]
values.reverse()
print(values)
Resultado:
Resultado:
Página 75 de 87
sum(list): para obtener la suma de todos los valores de la lista, si los valores son
todos números (enteros o decimales).
Ejemplo:
values = [2, 5, 10]
sum_of_values = sum(values)
print(sum_of_values)
Resultado:
Página 76 de 87
List.sort(): para organizar una lista de enteros, números de coma flotante o
cadenas, en orden ascendente o descendente.
Ejemplo:
values = [1, 7, 9, 3, 5]
# To sort the values in ascending order:
values.sort()
print(values)
Resultado:
Otro ejemplo:
values = [2, 10, 7, 14, 50]
# To sort the values in descending order:
values.sort(reverse = True)
print(values
Resultado:
Página 77 de 87
También se puedeordenar una lista de cadenas, ya sea
alfabéticamente o por su longitud.
Por ejemplo:
strs = ['gato', 'mamifero', 'cabra', 'es']
print(sorted(strs))
print(sorted(strs, key=len))
Resultado:
• Recorriendo listas
El bucle a través de las listas se puede hacer de la misma manera que cualquier otra función de bucle en
Python. De esta manera, un método se puede realizar en varios elementos de una lista al mismo tiempo.
Ejemplo 1
lista = [10, 20, 30, 40, 50, 60, 70].
Para recorrer todos los elementos de esta lista, y para que agregue 10 a cada elemento: Debemos utilizar este código:
list = [10, 20, 30, 40, 50, 60, 70]
for elem in list:
elem = elem + 5
print(elem)
Resultado
Página 78 de 87
Ejemplo
Página 79 de 87
list = [10, 20, 30, 40, 50, 60, 70]
for elem in list[:3]:
list.remove(elem)
print(list)
Resultado
Ejemplo 3
Para recorrer el 3er (índice 2) hasta el último elemento de la lista, y agregarlos a una nueva lista llamada new_list:
list = [10, 20, 30, 40, 50, 60, 70]
new_list = []
for elem in list[2:]:
new_list.append(elem)
print("New List: {}".format(new_list))
Resultado:
De esta manera, se puede aplicar cualquier método o función a los miembros de una lista para realizar una operación en
particular. Se puede recorrer todos los miembros de la lista o recorrer un subconjunto de la lista utilizando la división de listas.
• Listar comprensiones
Las comprensiones de lista son funciones de Python que se utilizan para crear nuevas secuencias (como listas, diccionarios,
etc.). Utilizando secuencias que ya se han creado ayudan a reducir los bucles más largos y hacen que el código sea más fácil de
leer y mantener.
Ejemplo 1:
Digamos que deseamos crear una lista que contenga los cuadrados de todos los números del 1 al 9:
list = [1, 2, 3, 4, 5, 6, 7, 8, 9]
list_of_squares = []
for int in range(1, 10):
square = int ** 2
list_of_squares.append(square)
print(list_of_squares)
Resultado:
Ejemplo 2:
Para hacer lo mismo con listas de comprensión:
Página 80 de 87
list = [1, 2, 3, 4, 5, 6, 7, 8, 9]
list_of_squares_2 = [int**2 for int in range(1, 10)] print("List of squares
using list comprehension:{}".format(list_of_squares_2))
Resultado:
Como hemos visto anteriormente, escribir el código usando listas por comprensión es mucho más corto que usar los
tradicionales bucles for. Este es solo un ejemplo del uso de listas por comprensión en lugar de bucles for, pero esto se puede
replicar y usar en muchos lugares donde también se pueden usar bucles for. A veces, optar por un bucle for es la mejor
opción, especialmente si el código es complejo. No obstante, en otros casos utilizar la listas por comprensión hará que la
codificación sea más fácil y rápida.
Página 81 de 87
A continuación, se muestra una tabla que contiene algunas funciones y métodos de lista, y sus descripciones.
Página 82 de 87
En resumen...
Una lista es un contenedor que contiene diferentes objetos, que pueden ser números enteros, palabras, valores, etc.
Las listas de Python pueden ser homogéneas, lo que significa que pueden contener el mismo tipo de objetos; o
heterogénea, que contiene diferentes tipos de objetos.
Para acceder a los valores dentro de las listas, se puede utilizar el índice de los objetos dentro de las listas.
La división de listas es el método de dividir un subconjunto de una lista, y los índices de los objetos también se utilizan
para esto.
Tres métodos para eliminar elementos de la lista son: list.remove, list.pop() y del.
El método Append se utiliza para agregar elementos. Esto agrega el elemento al final de la lista.
El método de bucle se puede realizar en varios elementos de una lista de datos al mismo tiempo.
Las comprensiones de lista son funciones que se utilizan para crear nuevas secuencias (como
listas, diccionarios, etc.)
Página 83 de 87
Lectura y escritura de archivos CSV
Un archivo CSV es un tipo simple de archivo de texto sin formato que utiliza una estructura específica para organizar los datos
tabulares. El formato estándar de un archivo CSV está definido por datos de filas y columnas donde una nueva línea termina
cada fila para comenzar la fila siguiente, y cada columna está separada por una coma dentro de la fila.
CSV es un formato común para el intercambio de datos, ya que es compacto, simple y general. Muchos servicios en línea
permiten a sus usuarios exportar datos tabulados del sitio web a un archivo CSV. Los archivos de CSV se pueden abrir en Excel
y casi todas las bases de datos tienen una herramienta que permite importar o exportar los datos desde los archivos CSV.
• Archivos CSV
Los datos en forma de tablas también se denominan CSV (valores separados por comas), literalmente "valores separados por
comas". Este es un formato de texto destinado a la presentación de datos tabulares. Cada línea del archivo es una línea de la
tabla. Los valores de las columnas individuales están separados por un símbolo separador: una coma (,), un punto y coma (;) u
otro símbolo. Python puede leer y procesar CSV fácilmente.
Además podemos considerar estos datos en un archivo de texto (.txt) y guardarlo con extensión CSV:
Como podemos ver, cada fila es una nueva línea y cada columna está separada por una coma. Este es un ejemplo de cómo se
ve un archivo CSV.
csv.field_size_limit
Devuelve el tamaño máximo del campo csv.get_dialect
Página 84 de 87
Obtiene el dialecto asociado con el nombre csv.list_dialects
csv.register_dialect
Asociar dialecto con nombre csv.writer
csv.unregister_dialect
Elimina el dialecto asociado con el nombre del registro del dialecto csv.QUOTE_ALL
En esta parte del apartado, nos centraremos solo en las funciones de lectura y escritura que nos permitirán editar, modificar y
manipular los datos en un archivo CSV.
• Leer un archivo CSV en Python
Para leer datos de archivos CSV, debemos usar la función de lector para generar un objeto de lector.
La función de lector está desarrollada para tomar cada fila del archivo y hacer una lista de todas las columnas. Luego,
se debe elegir la columna para la que desea los datos variables.
Suena mucho más complicado de lo que es. No obstante, echemos un vistazo a este código de Python para leer un
archivo CSV y descubriremos que trabajar con un archivo csv no es tan difícil. ¡sigue leyendo para ver el ejemplo!
Ejemplo:
#import necessary modules
import csv
with open('Datos_02.csv','rt')as f:
data = csv.reader(f)
for row in data:
print(row)
Resultado:
Página 85 de 87
Nota: aquí, el archivo CSV está ubicado en la misma carpeta que el archivo python .py. De ubicarse en otro lado. Tan solo
debemos poner la dirección completa del archivo. Por ejemplo si estuviera en “C:/datos”
entonces debemos escribir: ('C:/datosdatos.csv','rt')
También se puede utilizar DictReader para leer archivos CSV. Los resultados se interpretan como un diccionario donde la fila
del encabezado es la clave y las otras filas son valores.
Ejercicio:
import csv
reader = csv.DictReader(open("Datos_02.csv"))
for raw in reader:
print(raw)
Resultado:
Esta forma de leer datos del archivo CSV es mucho más fácil que el método anterior. Sin embargo, esta no es la mejor manera
de leer los datos.
Cuando se tiene un conjunto de datos que nos gustaría almacenar en un archivo CSV, se debe usar la función writer(). Para
iterar los datos sobre las filas, debemos utilizar la función writerow(). Consideremos el siguiente ejemplo. Vamos a Escribir
datos en un archivo "writeData.csv" donde el delimitador será un apóstrofe.
Si revisamos la carpeta en donde hemos ubicado el archivo de programa de phyton. Veremos también que se ha creado el
archivo “writeData.csv"
Página 86 de 87
Entonces, ahora sabemos cómo usar el método 'csv' y también leer y escribir datos en formato CSV. Los archivos CSV se usan
ampliamente en aplicaciones de software porque son fáciles de leer y administrar, y por su tamaño los hace relativamente
rápidos para el procesamiento y la transmisión.
El módulo CSV de Phyton proporciona varias funciones y clases que nos permiten leer y escribir la información fácilmente. A
su vez, se puede consultar la documentación oficial de Python y encontrar algunos consejos y módulos más interesantes. El uso
de los archivos CSV es la mejor manera de guardar, ver y enviar datos. En realidad, no es tan difícil de aprender como parece
al principio. Pero con un poco de práctica, será dominable.
Página 87 de 87