Blog Logo
Categoría(s):
tutorial de python

Estructuras de Datos y Sentencias Iterativas

Autor

waldo hidalgo

Fecha de publicación

Se cubrirán los fundamentos de estructuras de datos en Python —listas, diccionarios, conjuntos— y cómo utilizarlas con sentencias iterativas como for y while y sentencias condicionales como ifelse y elif.

Una lista es una colección ordenada y modificable de elementos. Se dice que una lista es mutable debido a que sus elementos pueden ser alterados después de su creación. Para crear una lista se utiliza la notación [] donde cada elemento que pertenece a la lista se muestra dentro de los corchetes, también se utiliza la función list que permite convertir iterables a listas. Para acceder a cada elemento de la lista se utiliza un índice númerico.

A continuación, se muestran ejemplos de creación de listas:

1lista_desde_corchetes = [1, 2, 3, "a", True]
2lista_desde_cadena=list("Python")

1.1 Operaciones más comunes

Las operaciones más comunes en listas son las siguientes:

1lista=[1,2,3,4]
2
3lista[1] # acceso a elementos de la lista
4lista[2]=45 # modificación de valores de la lista
5lista.append(5) # inserción de elemento al final de la lista
6del lista[0] # eliminación de elemento en la lista
7len(lista) # obtiene el largo de la lista

Un diccionario es una estructura de datos que permite almacenar información en pares clave-valor. Es muy útil cuando se necesita acceder a los datos por un identificador único en lugar de un índice numérico como en las listas.

Cada elemento del diccionario tiene:

  • Una clave (key): puede ser strintbool, etc. Debe ser de tipo inmutable.
  • Un valor (value): puede ser cualquier tipo de dato.

La clave debe ser única. Si se repite una clave, se sobrescribe el valor anterior. Los diccionarios pueden ser creados utilizando paréntesis del tipo {} o la función dict.

2.1 Operaciones más comunes

Un ejemplo de creación de diccionario es el siguiente

1persona = {
2 "nombre": "Ana",
3 "edad": 30,
4 "ciudad": "Santiago"
5}

Un listado de las operaciones más comunes se muestra a continuación:

1persona = {
2 "nombre": "Ana",
3 "edad": 30,
4 "ciudad": "Santiago",
5 78:51,
6} # creación de diccionario
7
8
9persona[78] # acceso no seguro a valores del diccionario
10persona.get(78,"no existe la key") # acceso seguro a valores del diccionario
11persona["profesion"] = "Ingeniera" # Agregación de key y value
12del persona["edad"] # eliminación de par key, value del diccionario

Un conjunto es una colección no ordenadasin elementos duplicados y mutable (puede cambiarse después de su creación).

Son útiles cuando se necesita asegurar que no haya elementos repetidos o para realizar operaciones matemáticas como uniónintersección y diferencia.

La manera de crear conjuntos es utilizar la función set sobre iterables o utilizar paréntesis {e1,e2,...,en} teniendo la precaución de utilizarlo cuando el conjunto no esta vacío ya que esto {} crea un diccionario.

3.1 Operaciones más comunes

1conjunto_vacio=set() # creación de set vacío
2conjunto_desde_iterable=set('gato')
3conjunto_desde_iterable.add('g') # inserción de elemento a set
4conjunto_desde_iterable.remove('g') # eliminación de elemento del set

Una tupla es una colección ordenada e inmutable de elementos. A diferencia de las listas (list), no se pueden modificar una vez creadas.

Son útiles para representar grupos fijos de datos, como coordenadas, registros o retornos múltiples de funciones.

Para crear tuplas se utiliza parentesis (), la función tuple o la sintaxis comas sobre cada elemento sin paréntesis el1,el2,el3,...,eln

4.1 Operaciones más comunes

1tupla1=(4,5,6) # creación de tupla utilizando paréntesis
2tupla2=4,5,6 # creación de tupla utilizando solo comas
3tupla3=8, # creación de tupla de un solo elemento
4
5tupla1[0] # acceso a elementos de la tupla por índices

El ciclo for es utilizando para iterar sobre secuencias de elementos ya sea listas, diccionarios, set, tuplas, cadenas y similares, permitiendo recorrer cada uno de los elementos. A diferencia de otros lenguajes, el ciclo for en Python permite recorrer cada elemento por defecto en vez de los índices.

La sintaxis básica es la siguiente:

1for variable in iterable:
2 # bloque de código de contenido

Se utilizan adicionalmente las sentencias siguientes:

  • break: para terminar el bucle prematuramente
  • continue: salta a la siguiente iteración
  • else: se ejecuta solo si el bucle terminó sin break

Ejemplos

Recorrido de lista por elemento y por índice:

1nombres = ["Ana", "Luis", "Pedro"]
2
3for nombre in nombres:
4 print(f"Hola, {nombre}")
5
6for i in range(0,len(nombres)):
7 print(f"Hola, {nombres[i]}")

Recorrido de diccionario:

1persona = {"nombre": "Ana", "edad": 30}
2
3for clave, valor in persona.items():
4 print(f"{clave}{valor}")

El ciclo while permite ejecutar un bloque de código repetidamente mientras se cumpla una condición lógica.

Es útil cuando no se sabe cuántas veces se necesita repetir algo, pero sí se sabe que debe repetirse mientras una condición sea verdadera.

1while condición:
2 # bloque de código de contenido

Mientras la condición sea True, el bloque se seguirá ejecutando. Las sentencias continuebreak y else siguen la misma lógica que las aplicadas en el ciclo for.

Ejemplos

Ciclo while con límite:

1contador = 0
2
3while contador < 5:
4print("Contador:", contador)
5contador += 1

Ciclo while infinito:

1while True:
2 print("Esto nunca termina")

Las sentencias condicionales permiten que un programa tome decisiones y ejecute diferentes bloques de código dependiendo de si una condición es verdadera (True) o falsa (False).

Se usan con las palabras clave ifelif y else.

La sintaxis básica es la siguiente:

1if condición:
2 # Bloque si la condición es verdadera
3elif otra_condición:
4 # Bloque si la otra condición es verdadera
5else:
6 # Bloque si ninguna condición se cumple
OperadorSignificadoEjemplo (x = 5, y = 3)
== Igual a x == y → False
!= Distinto de x != y → True
< Menor que x < y → False
> Mayor que x > y → True
<= Menor o igual x <= y → False
>= Mayor o igual x >= y → True
OperadorSignificadoEjemplo (x = 5)
and Y (todas deben ser verdaderas) x > 3 and x < 10 → True
or O (al menos una verdadera) x < 3 or x > 4 → True
notNegaciónnot(x > 5) → True si x ≤ 5

Ejemplos

1nota = 85
2
3if nota >= 90:
4 print("Excelente")
5elif nota >= 70:
6 print("Aprobado")
7else:
8 print("Reprobado")

Las comprehensions son una forma concisa y elegante de crear estructuras de datos a partir de iterables (como listas, rangos o diccionarios) en una sola línea de código.

En lugar de usar varios for y append, es posible expresar la lógica de creación directamente.

Python admite comprehensions para:

  • list → lista por comprensión
  • set → conjunto por comprensión
  • dict → diccionario por comprensión
  • (también generator expressions, pero se ven aparte)

La sintaxis es la siguiente cuando se filtra por condición:

1[expresión for elemento in iterable if condición]
2

La sintaxis es la siguiente cuando en función de una condición se debe modificar el valor considerado:

1[expresion_if_true if condicion else expresion_if_false for elemento in iterable]
2

Ejemplo

1cuadrados = [x**2 for x in range(5)] # creación de lista de cuadrados
2
3pares = [x for x in range(10) if x % 2 == 0] # creación de lista de cuadrados pares

La sintaxis es la siguiente:

1{expresión for elemento in iterable if condición}
2

La expresión condicional es similar a la de listas.

Ejemplo

1letras = {letra for letra in "banana"} # conjunto letras solo contiene letras únicas
2

Para filtrar en base a una condición, la sintaxis es la siguiente:

1{clave: expresion_para_valor for elemento in iterable if condición_opcional}
2

Cuando en función de una condición se debe modificar el valor considerado, la sintaxis es la siguiente:

1{clave: valor_si_verdadero if condición else valor_si_falso for elemento in iterable}
2

Ejemplo

1clasificacion = {x: "par" if x % 2 == 0 else "impar" for x in range(6)}
2

Artículos relacionados

Tutorial de Python
tutorial de python

Conceptos fundamentales de programación orientada a objetos: Clases, Objetos, Encapsulamiento, Herencia, Polimorfismo junto con actividades prácticas