Introducción a estructuras de datos con Python



En este artículo, veremos las estructuras de datos y los algoritmos básicos en Python que todo principiante debería conocer. Primero, definamos estructuras de datos.

Las estructuras de datos son simplemente las diferentes formas de organizar y almacenar datos en nuestras computadoras para realizar operaciones en los datos.

Las estructuras de datos nos ayudan a escribir software eficiente.

Introducción a estructuras de datos con Python

Te puede interesar también:

ESTRUCTURAS DE DATOS

Hay cuatro tipos de estructuras de datos integradas en Python: listas, tuplas, conjuntos y diccionarios.

1.Listas

  • Una lista es una colección ordenada de elementos.
  • Es un tipo de dato utilizado para representar/almacenar una lista de objetos en una sola variable.
  • Las listas reciben nombres descriptivos.
  • Usamos corchetes ([ ]) para crear una lista.
  • Los elementos dentro de una lista se separan mediante comas.
  • Usamos la función print() para imprimir la salida en la terminal.
  • Las listas se indexan desde 0.
  • Podemos crear listas que contengan objetos de cualquier tipo de datos, incluidas cadenas, números, booleanos.
# creating a list
numbers = [2, 5, 7, -10]
print(numbers)

# adding a new element at the end of a list
numbers.append(3)
print(numbers)

# adding an item at a specific place in the list
numbers.insert(0, 45)

# removing last element from list
numbers.pop()
print(numbers)

# to access an element on the list
print(numbers[0])

# to modify an element
numbers[0] = 8
print(numbers)

# to determine number of items on a list
print(len(numbers))

# to check index of an item
print(numbers.index(7))

Otras funciones de lista

  • in : para verificar si un elemento existe en nuestra lista o no.
  • for-para iterar sobre todos los valores.
  • extend-para añadir listas.
  • count-saber cuantas veces aparece un valor en la lista.
  • sort-para organizar elementos en una lista en orden alfabético.
  • reverse-para invertir el orden de las listas.
  • del-para eliminar un rango de elementos de una lista.
  • remove-para eliminar un elemento de una lista.
  • clear-para eliminar todos los elementos de una lista.

Recorriendo listas

numbers = [1, 3, 6, 9]
for number in numbers:
    print(number)

output<br>1<br>3<br>6<br>9

2. Tuplas

  • Una tupla es una colección ordenada de elementos.
  • Una tupla se utiliza para almacenar una secuencia de objetos.
  • Una tupla es inmutable, no se puede modificar ni cambiar después de crearla.
  • Creamos tuplas usando paréntesis de apertura y cierre ().
  • Las tuplas se indexan desde 0.
# creating tuples
coordinates = (12, 5)
print(coordinates)

# accessing tuples using their index
print(coordinates [1])

# creating a list of tuples
coordinates = [(12, 5), (8, 20)]

3. Conjuntos

  • Un conjunto es una colección desordenada de artículos que no tienen duplicados.
  • Para eliminar duplicados de las listas, los convertimos en conjuntos.
  • Un conjunto es mutable, se puede cambiar o modificar una vez creado.
  • Cada elemento de un conjunto debe ser único.
  • Definimos conjuntos usando llaves { } o usando la setfunción incorporada.
# removing duplicates from a list
numbers = [9, 16, 3, 4, 9, 3]
unique_numbers = set(numbers)
print(unique_numbers)

# union of sets
first_set = {3, 4}
second_set = {5, 6}
print(first | second)

# intersection of sets
print(first_set & second_set)

#difference between two sets
print(first_set - second_set)

#symmetric difference
print(first_set ^ second_set)

Iterando sobre elementos en un conjunto

numbers = {3, 7}
for x in numbers:
    print(x)

output<br>3<br>7

4. Diccionarios

  • Un diccionario es una colección desordenada de elementos.
  • Los diccionarios nos permiten almacenar información en pares clave-valor, cada clave está asociada a un valor diferente.
  • La clave debe ser única e inmutable.
  • Las claves distinguen entre mayúsculas y minúsculas.
  • Podemos utilizar cadenas, números o tuplas como claves.
  • Separamos la clave de su valor usando dos puntos ( : ).
  • El valor puede ser cualquier tipo de datos.
  • Podemos asignar un valor a varias claves.
  • Los elementos de un diccionario se separan mediante comas ( , ).
  • Podemos crear diccionarios usando el método dict().
# creating a dictionary 
user = {"name": "Paula", "age":28, "hobbies": ["dancing", "singing"]}
print(user)

# accessing a specific key
print(user["name"])

# specifying a default value for keys that do not exist
print(user.get("email", "Invalid key"))

# adding a key to the dictionary
user["email"] = "lady@gmail.com"
print(user.get("email"))

# changing value of a key 
user[name] = "Pam"
print(user)

# to modify several or all values
user.update({"name": "Reuben", "age": 21, "email": "kreuben@gmail.com"})

# to delete a key
del user["hobbies"]
print(user)

# looping through keys and values
for key, value in user.items():
    print(key, value)

Estructuras de datos definidas por el usuario

Estas son estructuras de datos que no son compatibles con Python, pero que el usuario puede programar para que funcionen de manera similar a las estructuras de datos integradas de Python. Veremos pilas, colas y listas enlazadas.

1. Pilas

Una pila es una estructura de datos lineal que sigue el principio LIFO (último en entrar, primero en salir). Las pilas en Python se pueden implementar usando listas, Collections.deque, queue.LifoQueue.

Funciones que podemos realizar en pilas

  • append / push()-para agregar un elemento encima de la pila.
  • pop()-para eliminar un elemento en la parte superior de la pila.
  • peektop()– para ver el elemento superior de la pila.
  • size()-devuelve el tamaño de la pila.
  • [-1]-para obtener el elemento que está en la parte superior de la pila. Solo funciona si nuestra pila no está vacía.
  • empty()-para devolver si la pila está vacía.

Usos de las pilas

  1. Se utiliza para llamar a una función.
  2. Undoutiliza pilas para rastrear el último conjunto de operaciones.

2. Colas

Una cola es una estructura de datos lineal que sigue el principio FIFO (primero en entrar, primero en salir). La inserción y eliminación en las colas ocurre en la parte trasera y delantera. Un ejemplo de una cola es donde los clientes se alinean para un recurso. En Python, las colas se pueden implementar usando listas, collection.deque, queue.Queue

Operaciones de cola

  • enqueue : para agregar un elemento a la cola.
  • dequeue– para eliminar un elemento de la cola.
  • front– para obtener el primer elemento de la cola.
  • rear– para obtener el último elemento de la cola.

3. Lista

  • Una lista enlazada es una estructura de datos para almacenar una colección de elementos.
  • Una lista enlazada se puede visualizar como varios cuadros conectados entre sí.
  • Los datos utilizados en las listas vinculadas pueden ser cadenas, números, caracteres, etc.
  • Las listas vinculadas se pueden utilizar para implementar pilas, colas y gráficos.

Deja tus comentarios y sugerencias


Sobre Facialix

Facialix es un sitio web que tiene como objetivo apoyar en el aprendizaje y educación de jóvenes y grandes. Buscando y categorizando recursos educativos gratuitos de internet, de esta manera Facialix ayuda en el constante aprendizaje de todos.


También te podría gustar...

1 respuesta

  1. JAvier dice:

    Muy interesante, muchas gracias

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.