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

Dominando Las Estructuras de Datos en Python

El documento ofrece una guía completa sobre las estructuras de datos en Python, incluyendo listas, tuplas, diccionarios y conjuntos. Cada estructura se describe con sus características, métodos comunes y ejemplos de uso, destacando su utilidad en la programación eficiente. Se enfatiza la importancia de elegir la estructura adecuada para mejorar la funcionalidad y legibilidad del código.

Cargado por

Elkin Jaramillo
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)
0 vistas10 páginas

Dominando Las Estructuras de Datos en Python

El documento ofrece una guía completa sobre las estructuras de datos en Python, incluyendo listas, tuplas, diccionarios y conjuntos. Cada estructura se describe con sus características, métodos comunes y ejemplos de uso, destacando su utilidad en la programación eficiente. Se enfatiza la importancia de elegir la estructura adecuada para mejorar la funcionalidad y legibilidad del código.

Cargado por

Elkin Jaramillo
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/ 10

Dominando las Estructuras de Datos en Python: Una Guía Completa

En el corazón de la programación eficiente y organizada en Python se encuentran sus


versátiles estructuras de datos. Estas herramientas fundamentales permiten a los
desarrolladores almacenar y manipular colecciones de datos de manera efectiva,
adaptándose a una amplia variedad de necesidades. A continuación, exploraremos
en detalle las estructuras de datos incorporadas más importantes: listas, tuplas,
diccionarios y conjuntos.

1. Listas: Colecciones Ordenadas y Modificables

Las listas son una de las estructuras de datos más utilizadas en Python. Se
caracterizan por ser colecciones ordenadas de elementos, lo que significa que cada
elemento tiene una posición o índice definido. Además, son mutables, es decir, su
contenido se puede modificar después de su creación.

Características Principales:

• Creación: Se definen utilizando corchetes [], con los elementos separados por
comas.

• Ordenadas: Mantienen el orden de inserción de los elementos.

• Mutables: Se pueden añadir, eliminar o modificar elementos.

• Permiten Duplicados: Una lista puede contener elementos con el mismo


valor.

• Heterogéneas: Pueden contener elementos de diferentes tipos de datos.

Creación de una Lista:

Python

# Una lista de números

numeros = [1, 2, 3, 4, 5]

# Una lista de cadenas de texto

frutas = ["manzana", "banana", "cereza"]

# Una lista mixta


mixta = [1, "hola", 3.14, True]

# Una lista vacía

vacia = []

Métodos Comunes y Ejemplos de Uso:

Método Descripción Ejemplo

Añade un elemento al final


append(elemento) frutas.append("naranja")
de la lista.

insert(índice, Inserta un elemento en


frutas.insert(1, "uva")
elemento) una posición específica.

Elimina la primera
remove(elemento) frutas.remove("banana")
aparición de un elemento.

Elimina y devuelve el
elemento en un índice fruta_eliminada =
pop(índice)
dado (el último si no se frutas.pop(0)
especifica).

sort() Ordena la lista in situ. numeros.sort()

Invierte el orden de los


reverse() frutas.reverse()
elementos in situ.

Devuelve el número de
len(lista) print(len(numeros))
elementos en la lista.

Acceso a Elementos: Se accede a los elementos de una lista a través de su índice,


comenzando desde 0.

Python
print(frutas[0]) # Imprime el primer elemento

print(numeros[1:4]) # Imprime desde el segundo hasta el cuarto elemento (rebanado)

2. Tuplas: Colecciones Ordenadas e Inmutables

Las tuplas son similares a las listas en que son colecciones ordenadas de
elementos. Sin embargo, su principal diferencia y característica definitoria es que son
inmutables, lo que significa que no se pueden modificar una vez creadas. Esto las
hace ideales para almacenar datos que no deben cambiar.

Características Principales:

• Creación: Se definen utilizando paréntesis (), con los elementos separados


por comas.

• Ordenadas: Mantienen el orden de inserción.

• Inmutables: No se pueden añadir, eliminar o modificar elementos después de


su creación.

• Permiten Duplicados: Al igual que las listas, pueden contener elementos


idénticos.

• Eficiencia: Generalmente, ocupan menos memoria y son más rápidas de


procesar que las listas.

Creación de una Tupla:

Python

# Una tupla de coordenadas

coordenadas = (10.0, 20.0)

# Una tupla de colores RGB

color_rojo = (255, 0, 0)

# Para una tupla de un solo elemento, se necesita una coma final

un_elemento = ("hola",)

Métodos Comunes y Ejemplos de Uso:


Las tuplas, al ser inmutables, tienen menos métodos que las listas.

Método Descripción Ejemplo

Devuelve el número
mi_tupla = (1, 2, 2,
count(elemento) de veces que aparece
3)<br>print(mi_tupla.count(2))
un elemento.

Devuelve el índice de
index(elemento) la primera aparición print(mi_tupla.index(3))
de un elemento.

Uso Principal: Se utilizan para asegurar la integridad de los datos. Por ejemplo, las
claves de un diccionario deben ser inmutables, por lo que las tuplas pueden ser
usadas como claves, pero las listas no.

Python

# Desempaquetado de tuplas

x, y = coordenadas

print(f"X: {x}, Y: {y}")

3. Diccionarios: Pares Clave-Valor Desordenados y Modificables

Los diccionarios son colecciones que almacenan datos en pares clave-valor. A


diferencia de las listas y tuplas, no se accede a sus elementos por un índice
numérico, sino a través de una clave única. En versiones de Python 3.7 y posteriores,
los diccionarios mantienen el orden de inserción, pero es una característica de
implementación y no se debe depender de ella para la lógica del programa en
versiones anteriores. Son mutables.

Características Principales:

• Creación: Se definen con llaves {} y cada elemento es un par clave: valor.

• Claves Únicas: Las claves deben ser únicas dentro de un diccionario y deben
ser de un tipo de dato inmutable (como cadenas, números o tuplas).

• Modificables: Se pueden añadir, modificar o eliminar pares clave-valor.


• Rápida Búsqueda: Optimizados para una recuperación de valores muy rápida
cuando se conoce la clave.

Creación de un Diccionario:

Python

# Un diccionario para almacenar información de un usuario

usuario = {

"nombre": "Juan",

"edad": 30,

"ciudad": "Madrid"

# Un diccionario vacío

vacio = {}

Métodos Comunes y Ejemplos de Uso:

Método Descripción Ejemplo

Devuelve el valor
de una clave. Si
la clave no existe,
get(clave, print(usuario.get("profesion",
devuelve None o
valor_por_defecto) "No especificada"))
el valor por
defecto
especificado.

Devuelve una
vista de todas las for clave in usuario.keys():
keys()
claves del print(clave)
diccionario.
Método Descripción Ejemplo

Devuelve una
vista de todos los for valor in usuario.values():
values()
valores del print(valor)
diccionario.

Devuelve una
for clave, valor in
vista de todos los
items() usuario.items():
pares clave-valor
print(f"{clave}: {valor}")
como tuplas.

Elimina un par
pop(clave) clave-valor y edad = usuario.pop("edad")
devuelve el valor.

Actualiza el
diccionario con usuario.update({"email":
update(otro_diccionario)
los pares clave- "[email protected]"})
valor de otro.

Acceso y Modificación:

Python

# Acceder a un valor

print(usuario["nombre"])

# Modificar un valor

usuario["ciudad"] = "Barcelona"

# Añadir un nuevo par clave-valor

usuario["telefono"] = "123-456-7890"
4. Conjuntos (Sets): Colecciones Únicas y Desordenadas

Los conjuntos son colecciones desordenadas de elementos únicos. Su principal


utilidad radica en la capacidad de realizar operaciones matemáticas de conjuntos,
como uniones, intersecciones y diferencias, y en la eliminación eficiente de
elementos duplicados de otras colecciones.

Características Principales:

• Creación: Se pueden crear con llaves {} o con la función set(). Para un


conjunto vacío, se debe usar set().

• Desordenados: No mantienen ningún orden específico.

• Elementos Únicos: No permiten elementos duplicados.

• Mutables: Se pueden añadir o eliminar elementos.

• Elementos Inmutables: Los elementos de un conjunto deben ser de tipos de


datos inmutables.

Creación de un Conjunto:

Python

# Un conjunto de números

numeros_unicos = {1, 2, 3, 4, 4, 5} # El resultado será {1, 2, 3, 4, 5}

# Crear un conjunto a partir de una lista para eliminar duplicados

lista_con_duplicados = [1, 2, 2, 3, 4, 4, 5]

conjunto_sin_duplicados = set(lista_con_duplicados)

# Un conjunto vacío

vacio = set()

Operaciones de Conjuntos y Ejemplos:


Operado Descripció
Operación Método
r n

Unión union(otro_conjunto) ` `

Devuelve
un nuevo
conjunto
Intersecció con los
intersection(otro_conjunto) &
n elementos
que son
comunes a
ambos.

Devuelve
un nuevo
conjunto
con los
elementos
Diferencia difference(otro_conjunto) - que están
en el
primer
conjunto
pero no en
el segundo.

Devuelve
un nuevo
conjunto
Diferencia symmetric_difference(otro_conjunt con los
^ elementos
Simétrica o)
que están
en uno u
otro
conjunto,
Operado Descripció
Operación Método
r n

pero no en
ambos.

Ejemplo de Operaciones:

Python

a = {1, 2, 3, 4}

b = {3, 4, 5, 6}

print(a.union(b)) # {1, 2, 3, 4, 5, 6}

print(a & b) # {3, 4}

print(a - b) # {1, 2}

print(a ^ b) # {1, 2, 5, 6}

Métodos para Modificar Conjuntos:

• add(elemento): Añade un elemento.

• remove(elemento): Elimina un elemento. Lanza un error si el elemento no


existe.

• discard(elemento): Elimina un elemento. No lanza error si el elemento no


existe.

• pop(): Elimina y devuelve un elemento arbitrario.

Resumen Comparativo

Característica Lista Tupla Diccionario Conjunto

Sí (Python
Ordenada Sí Sí No
3.7+)
Característica Lista Tupla Diccionario Conjunto

Mutable Sí No Sí Sí

Permite
Sí Sí No (claves) No
Duplicados

Sintaxis [] () {clave: valor} {} o set()

Índice Índice No
Acceso Clave
numérico numérico aplica

La elección de la estructura de datos correcta es crucial para escribir código en


Python que no solo sea funcional, sino también eficiente y legible. Comprender las
fortalezas y debilidades de cada una de estas estructuras es un paso fundamental
para cualquier programador de Python.

También podría gustarte