Resumen UD4 – Arrays y Cadenas

Publicado por pjimpin1207

1. ¿qué es una estructura de datos?

Son formas de organizar, almacenar y manipular datos de forma eficiente. En la unidad se explica qué cuando necesitamos manejar grandes cantidades de datos (como las notas de muchos estudiantes), necesitamos estructuras como arrays o listas.

2. Arrays y Listas en Python

En Python, los arrays tradicionales se representan mediante listas, qué son estructuras flexibles, dinámicas y muy potentes.

Declaración de listas

mi_lista = [10, 20, 30]
lista_vacia = []
ceros = [0] * 5

Acceso y modificación

mi_lista[0]       # Primer elemento
mi_lista[-1]      # Último elemento
mi_lista[2] = 15  # Modificar valor

Recorridos

# Con índice
for i in range(len(lista)):
    print(lista[i])

# For-each
for elemento in lista:
    print(elemento)

3. métodos básicos de listas

  • append() – Añadir al final
  • insert(pos, elem) – Insertar en una posición
  • remove(valor) – Eliminar por valor
  • pop(pos) – Extraer elemento
  • len() – Longitud

4. Slicing o División de Listas

Permite extraer partes de una lista mediante rangos:

lista[2:5]
lista[:3]
lista[::-1]   # Invertir

5. Operaciones avanzadas con arrays

Incluyen búsqué Ordenación, copia, unión, Comparación y más.

6. búsqueda

búsqué secuencial

Recorre la lista elemento a elemento.

búsqué binaria

Requé la lista ordenada y es mucho más rápida.

7. Ordenación

lista.sort()         # Modifica la lista
ordenada = sorted(lista)  # Devuelve una copia ordenada

8. Comparación de listas

  • Misma longitud
  • Mismos valores
  • En el mismo orden

9. Copia de listas

lista2 = lista.copy()
lista3 = lista[:]

10. Matrices (Arrays 2D)

Declaración

matriz = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]
]

Acceso

matriz[1][2]   # Devuelve 6

Recorrido anidado

for fila in matriz:
    for elemento in fila:
        print(elemento)

11. Cadenas de texto (strings)

Son inmutables, recorrribles, indexables y compatibles con slicing.

métodos importantes

  • .lower()
  • .upper()
  • .strip()
  • .replace()
  • .split()
  • .join()

Ejemplo slicing

cadena[::-1]   # Invertir texto

12. Formateo de cadenas: f-strings

producto = "Laptop"
precio = 850.50
print(f"El {producto} cuesta {precio:.2f}")

13. Expresiones Regulares (RegEx)

Funciones del módulo re

  • re.search()
  • re.findall()
  • re.match()

Patrones comunes

  • \d → dígito
  • \w → carácter de palabra
  • . → cualqué carácter
  • {n} → cantidad exacta