Saltar al contenidoIr al contenido
Estructuras de datos en Python: listas, tuplas, strings, sets y diccionarios
Python

Estructuras de datos en Python: listas, tuplas, strings, sets y diccionarios

Cuando aprendemos a programar, una de las primeras cosas que vemos es que existen diferentes tipos de datos.

Podemos guardar números, textos, valores booleanos y otros datos dentro de variables. Pero muchas veces un programa no necesita manejar un solo dato, sino un conjunto de datos.

Para eso existen las estructuras de datos.

Qué son las estructuras de datos

Una estructura de datos permite agrupar varios valores dentro de una misma variable.

Por ejemplo, si tenemos una carrera con varios participantes, podríamos guardar cada nombre en una variable diferente.

primero = "Elena" segundo = "Raúl" tercero = "Juan" cuarto = "Ana" quinto = "Isabel"

Pero también podemos guardar todos esos nombres dentro de una sola variable usando una lista.

participantes = ["Elena", "Raúl", "Juan", "Ana", "Isabel"]

De esta forma trabajamos con un conjunto de datos de manera más ordenada.

Estructuras secuenciales

Las estructuras secuenciales son aquellas donde los datos tienen un orden específico.

En muchos lenguajes de programación se habla de arrays. Dependiendo del lenguaje, un array puede tener un tamaño fijo o exigir que todos sus elementos sean del mismo tipo.

En Python, las listas son más flexibles. Pueden contener elementos de distintos tipos y permiten añadir o eliminar valores.

Listas en Python

Una lista es una estructura de datos secuencial que permite guardar varios valores dentro de una misma variable.

Se define usando corchetes y separando los elementos con comas.

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

También podemos crear una lista con textos.

participantes = ["Elena", "Raúl", "Juan", "Ana", "Isabel"]

Acceder a elementos de una lista

Para acceder a un elemento de una lista usamos su índice.

En Python, los índices empiezan en 0. Eso significa que el primer elemento tiene índice 0, el segundo tiene índice 1, y así sucesivamente.

numeros = [1, 2, 3, 4, 5] print(numeros[0])

Este código muestra el primer elemento de la lista.

Si queremos acceder al tercer elemento, usamos el índice 2.

print(numeros[2])

Índices negativos

Python también permite usar índices negativos para acceder a los elementos desde el final de la lista.

numeros = [1, 2, 3, 4, 5] print(numeros[-1])

El índice -1 devuelve el último elemento.

El índice -2 devuelve el penúltimo elemento.

print(numeros[-2])

Esto es útil cuando no sabemos exactamente cuántos elementos tiene una lista, pero queremos acceder a los últimos valores.

Slicing en Python

El slicing permite obtener una parte de una lista.

Para hacerlo, indicamos el índice inicial y el índice final dentro de corchetes.

numeros = [1, 2, 3, 4, 5] print(numeros[0:4])

Este código devuelve los elementos desde el índice 0 hasta el índice 4, sin incluir el índice 4.

El resultado sería:

[1, 2, 3, 4]

También podemos añadir un tercer valor para indicar el salto.

print(numeros[0:4:2])

Esto toma los elementos desde el índice 0 hasta el índice 4, avanzando de dos en dos.

Operaciones básicas con listas

Con las listas podemos realizar varias operaciones útiles.

Concatenar listas

Podemos sumar dos listas para unirlas.

lista1 = [1, 2, 3] lista2 = [4, 5, 6] resultado = lista1 + lista2 print(resultado)

El resultado será una lista con los elementos de ambas listas.

Obtener el tamaño de una lista

La función len() permite saber cuántos elementos tiene una lista.

lista1 = [1, 2, 3] print(len(lista1))

Comprobar si un elemento está en una lista

El operador in permite verificar si un elemento existe dentro de una lista.

lista1 = [1, 2, 3, 4, 5, 6] print(4 in lista1)

Si el elemento está en la lista, devuelve True. Si no está, devuelve False.

Tuplas en Python

Una tupla es una estructura parecida a una lista, pero con una diferencia importante: es inmutable.

Esto significa que no podemos añadir, eliminar ni modificar elementos después de crearla.

Las tuplas se definen usando paréntesis.

tupla = (1, 2)

En cambio, una lista se define con corchetes.

lista = [1, 2]

Podemos acceder a los elementos de una tupla usando índices, igual que con una lista.

print(tupla[0])

Pero si intentamos modificar un elemento, Python mostrará un error.

tupla[0] = 5

Las tuplas suelen utilizarse cuando queremos representar datos que no deberían cambiar.

Strings como estructuras secuenciales

Un string representa texto, pero también puede entenderse como una estructura secuencial.

Un string es una cadena de caracteres. Cada carácter puede ser una letra, un número o un símbolo.

frase = "Esto es un string"

Como los strings son secuencias, podemos usar varias operaciones parecidas a las listas.

Obtener la longitud de un string

frase = "Esto es un string" print(len(frase))

Acceder a un carácter

print(frase[0])

Esto devuelve el primer carácter del texto.

Comprobar si un carácter está en el string

print("x" in frase)

El resultado será True o False, dependiendo de si el carácter existe dentro del texto.

Métodos de los strings

Los strings tienen métodos propios que permiten trabajar con textos.

Por ejemplo, el método upper() convierte el texto a mayúsculas.

frase = "Esto es un string" print(frase.upper())

Este tipo de operaciones son específicas de las cadenas de texto.

Sets en Python

Un set, o conjunto, es una estructura de datos no secuencial.

Esto significa que el orden de los elementos no es lo más importante.

Además, un set no permite elementos duplicados.

Si tenemos una lista con valores repetidos y la convertimos en set, los duplicados se eliminan.

numeros = [1, 2, 2, 3, 4, 4, 5] conjunto = set(numeros) print(conjunto)

Los sets se utilizan mucho para representar conjuntos en el sentido matemático.

Operaciones con sets

Con los sets podemos realizar operaciones de conjuntos.

Diferencia entre conjuntos

set1 = set([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]) set2 = set([0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20]) print(set1 - set2)

Esto muestra los elementos que están en set1 pero no en set2.

Intersección

La intersección muestra los elementos que están en ambos conjuntos.

print(set1 & set2)

Unión

La unión muestra todos los elementos de ambos conjuntos sin duplicados.

print(set1 | set2)

Diccionarios en Python

Un diccionario es una estructura de datos no secuencial que almacena información mediante pares de clave y valor.

En una lista accedemos a los elementos usando índices. En un diccionario accedemos usando una clave.

Un diccionario se define con llaves.

persona = { "nombre": "Juan", "edad": 30, "apellido": "López" }

En este ejemplo, nombre, edad y apellido son claves. Los valores son Juan, 30 y López.

Acceder a valores de un diccionario

Para acceder a un valor, usamos su clave.

print(persona["nombre"])

Esto devuelve el valor asociado a la clave nombre.

Operaciones básicas con diccionarios

Obtener la cantidad de elementos

Podemos usar len() para saber cuántos pares clave-valor tiene un diccionario.

print(len(persona))

Comprobar si existe una clave

El operador in permite comprobar si una clave existe dentro del diccionario.

print("nombre" in persona)

Esto devuelve True, porque nombre es una clave del diccionario.

Si buscamos un valor como Juan, el resultado será False, porque in comprueba claves, no valores.

print("Juan" in persona)

Resumen de estructuras de datos en Python

EstructuraCaracterísticasEjemplo
ListaSecuencial, mutable y ordenada[1, 2, 3]
TuplaSecuencial, ordenada e inmutable(1, 2, 3)
StringSecuencia de caracteres"Hola"
SetNo secuencial y sin duplicadosset([1, 2, 3])
DiccionarioPares de clave y valor{"nombre": "Juan"}

Conclusión

Las estructuras de datos permiten agrupar y organizar información dentro de un programa.

En Python encontramos estructuras como listas, tuplas, strings, sets y diccionarios.

Las listas y strings son secuenciales, las tuplas son secuenciales e inmutables, los sets no permiten duplicados y los diccionarios permiten trabajar con pares de clave y valor.

Conocer estas estructuras es fundamental para escribir programas más organizados y manejar datos de forma más eficiente.

Compartir
Escrito por
deybi
Soy un joven dominicano dedicado a la creación de páginas web, con un proyecto de vida claro y una visión enfocada en el crecimiento, la disciplina y el trabajo constante. Me esfuerzo cada día...

Deja un comentario