Introducción

Las estructuras de datos en Python se pueden entender como un tipo de dato compuesto, debido a que en una misma variable podemos almacenar una estructura completa con información. Dichas estructuras, pueden tener diferentes características y funcionalidades. De hecho, existen múltiples tipos de estructuras de datos en Python

Las estructuras de datos más comunes en Python son las listas, las tablas y los diccionarios. Aunque tienen otro nombre, en otros lenguajes, son los arreglos o vectores, las matrices y los arreglos indexados, respectivamente. Son en esencia lo mismo, aunque como es habitual en Python, con varias facilidades y funcionalidades ya incluidas.

Las estructuras de datos han sido creadas para solucionar una gran variedad de problemáticas que no podrían ser resueltas con lo que conocemos hasta ahora, pues permiten agrupar fácilmente un conjunto de datos (normalmente relacionados) para operar fácilmente con ellos. Cosas como ordenar, agregar, eliminar, mostrar, recorrer, entre otras operaciones, son posibles y fáciles en Python.

Conocimientos previos

Hay algunos conceptos que se deben tener en cuenta para dar inicio a esta guía:

  • Declaración e invocación de variables en Python.
  • Conocimiento y uso de las operaciones matemáticas en Python.
  • No se requiere experiencia. En todo caso, cualquier conocimiento o contacto previo con la programación hará esta guía mas fácil de entender.
  • En este apartado no se van a considerar las estructuras de de datos.
  • Los ejemplos no se incluyen en esta guía básica. Al final de la página se deja el enlace del sitio web de referencia para que se puedan buscar los ejercicios.
Condicional if

Los condicionales if en Python, son una estructura de control condicional, también llamadas estructuras selectivas de casos simples (porque solo definen un posible flujo), las cuales nos permiten tomar cierta decisión al interior de nuestro programa, es decir, nos permiten determinar qué acciones ejecutar según cierta.

Básicamente, un condicional if en Python, es una estructura que nos posibilita definir las acciones a ejecutar si se cumple cierta condición y de ese modo modificar la ejecución de tareas en un programa según lo necesites.

La sintaxis de un condicional if, es bastante simple e incluso intuitiva: if (condición a evaluar):
Condicional if else

Los condicionales if else, son una estructura de control que nos permite tomar cierta decisión al interior de nuestro programa. Es decir, nos permite determinar qué acciones tomar dada o no cierta condición. Es importante notar la parte del NO, pues ya no solo definimos qué hacer en caso de que se cumpla, sino (else) también qué hacer si no se cumple cierta condición.

En resumen, un condicional if else es una estructura que nos posibilita definir las acciones que se deben llevar a cabo si se cumple cierta condición y también indicar las acciones que se deben ejecutar en caso de que no se cumpla; generando así una separación o bifurcación en la ejecución del programa.

La sintaxis de un condicional if else, es en principio similar a la del condicional if, pero adicionando una nueva "estructura" que sería el else, el cual indica la acción o conjunto de acciones a llevar a cabo si no se cumplió la condición inicial (la del if): if (condición a evaluar): # Bloque de instrucciones si se cumple la condición.... # Solo se ejecutará si la condición es verdadera else: # Bloque de instrucciones si NO se cumple la condición.... # Solo se ejecutará si la es falsa
Condicional anidado

Los condicionales, permiten escribir código en su interior y en realidad, nada de impide incluso al interior de un condicional, poner otros (u otros). A eso se le llama condiciones anidados, pues una estructura condicional dentro de otra. De hecho, puedes anidar cuantos condicionales requieras, aunque no se recomienda más de dos o tres niveles.

Dentro de un condicional, puedes poner cualquier instrucción válida y eso incluye a cualquier tipo de condicional que necesites y el funcionamiento, sigue siendo el mismo. De hecho, Python tiene una instrucción llamada elif() que permite simplificar un if() que se encuentra al interior de un else en Python.

En este ejemplo, vamos a anidar un if al interior de otro y luego un if al interior de un else. De ese modo, cubrimos varios casos: password = input("Ingrese la contraseña: ") if (len(password) >= 8): print('La contraseña es suficientemente larga.') if(password == 'miClaveSegura'): print("Además es la contraseña correcta.") else: print("Pero es incorrecta.") else: print('Tu contraseña es muy corta e insegura.') if (password != 'miClaveSegura'): print("Además, es incorrecta (por supuesto).")
Ciclo while

Los ciclos while son una estructura cíclica, que nos permite ejecutar una o varias líneas de código de manera repetitiva sin necesidad de tener un valor inicial e incluso a veces sin siquiera conocer cuando se va a dar el valor final que esperamos.

Con el ciclo while, no conoces el cuándo sino el cómo. Es decir, conocer la condición bajo la cual se va a detener el ciclo, pero no sabes cuántas iteraciones tomará eso, ni cuánto tiempo. Por ello se los llama ciclos indeterminados.

La sintaxis de un ciclo while es incluso más simple y "legible" que la de otros ciclos, pues simplemente requerimos tener clara una condición de parada: while(condición de finalización): ... ... Bloque de Instrucciones... Dentro del while ... ... Bloque de Instrucciones... FUERA del while
Ciclo for

Los ciclos for (o ciclos para) son una estructura de control cíclica. Nos permiten ejecutar una o varias líneas de código de forma iterativa (o repetitiva), pero teniendo cierto control y conocimiento sobre las iteraciones. En el ciclo for en Python, es necesario tener un valor inicial y un valor final, y opcionalmente podemos hacer uso del tamaño del "paso" entre cada "giro" o iteración del ciclo.

En resumen, un ciclo for en Python es una estructura iterativa para ejecutar un mismo segmento de código una cantidad de veces deseada y conocida. Pues necesitamos conoces previamente un valor de inicio, un tamaño de paso y un valor final para el ciclo.

La sintaxis de un ciclo for es simple en Python. En realidad, en la mayoría de los lenguajes de alto nivel es incluso muy similar, de hecho, con tan solo tener bien claros los 3 componentes del ciclo for (inicio, final y tamaño de paso) tenemos prácticamente todo hecho: for variable_contadora in range(valor_inicial, valor_final, tamaño_paso: ... ... Bloque de Instrucciones... ... ... Bloque fuera del ciclo...
Referencia