ESTRUCTURAS DE DATOS EN PYTHON
Las estructuras de datos en Python son herramientas fundamentales que permiten organizar, almacenar y manipular datos de manera eficiente. Cada estructura tiene características específicas que se adaptan a diferentes necesidades y escenarios.
Las estructuras de datos en Python se pueden entender como un tipo de dato compuesto, debido a que en una misma variable podemos almacenar una estructura completa con información. Dichas estructuras, pueden tener diferentes características y funcionalidades. De hecho, existen múltiples tipos de estructuras de datos en Python
Las estructuras de datos más comunes en Python son las listas, las tablas y los diccionarios. Aunque tienen otro nombre, en otros lenguajes, son los arreglos o vectores, las matrices y los arreglos indexados, respectivamente.
Las estructuras de datos han sido creadas para solucionar una gran variedad de problemáticas que no podrían ser resueltas con lo que conocemos hasta ahora, pues permiten agrupar fácilmente un conjunto de datos (normalmente relacionados) para operar fácilmente con ellos. Cosas como ordenar, agregar, eliminar, mostrar, recorrer, entre otras operaciones, son posibles y fáciles en Python
LISTAS
Una de las estructuras de datos más comunes en Python son las listas. Las listas son colecciones ordenadas de elementos que pueden ser de diferentes tipos, como números, cadenas de texto o incluso otras listas. Para crear una lista en Python, simplemente encierra los elementos entre corchetes y sepáralos por comas.
Diccionarios
Otra estructura de datos poderosa en Python son los diccionarios. Los diccionarios permiten almacenar pares clave-valor, lo que facilita la búsqueda y recuperación de datos de manera eficiente. Para crear un diccionario en Python, utiliza llaves y separa cada par clave-valor con dos puntos.
Tuplas
Las tuplas son estructuras de datos similares a las listas, pero con la diferencia clave de que son inmutables, es decir, no se pueden modificar una vez creadas. Las tuplas son útiles cuando necesitas garantizar que los datos no cambien accidentalmente.
Uso de estructura de datos en python
Ahora que conoces las diferentes estructuras de datos en Python, es importante comprender cómo y cuándo utilizar cada una de ellas en tus programas. Las listas son ideales para almacenar colecciones de elementos que pueden cambiar con el tiempo, mientras que los diccionarios son perfectos para asociar información relacionada, Te dare las sintaxis.
Sintaxis
En la mayoría de lenguajes existe una sintaxis común, como por ejemplo el uso de =
para asignar un dato a una variable, o el uso de {}
para designar bloques de código, pero Python tiene ciertas particularidades.
La sintaxis es a la programación lo que la gramática es a los idiomas. De la misma forma que la frase “Yo estamos aquí” no es correcta, el siguiente código en Python no sería correcto, ya que no respeta las normas de lenguaje.
if ($variable){ x=9; }
El siguiente código simplemente define tres valores a
, b
y c
, realiza unas operaciones con ellos y muestra el resultado por pantalla.
# Definimos una variable x con una cadena
x = "El valor de (a+b)*c es"
# Podemos realizar múltiples asignaciones
a, b, c = 4, 3, 2
# Realizamos unas operaciones con a,b,c
d = (a + b) * c
# Definimos una variable booleana
imprimir = True
# Si imprimir, print()
if imprimir:
print(x, d)
# Salida: El valor de (a+b)*c es 14
Comentarios
Los comentarios son bloques de texto usados para comentar el código. Es decir, para ofrecer a otros programadores o a nuestro yo futuro información relevante acerca del código que está escrito. A efectos prácticos, para Python es como si no existieran, ya que no son código propiamente dicho, solo anotaciones.
Los comentarios se inician con #
y todo lo que vaya después en la misma línea será considerado un comentario.
# Esto es un comentario
Al igual que en otros lenguajes de programación, podemos también comentar varias líneas de código. Para ello es necesario hacer uso de triples comillas bien sean simples '''
o dobles """
. Es necesario usarlas para abrir el bloque del comentario y para cerrarlo.
'''
Esto es un comentario
de varias líneas
de código
'''
Indentación y bloques de código
En Python los bloques de código se representan con indentación, y aunque hay un poco de debate con respecto a usar tabulador o espacios, la norma general es usar cuatro espacios.
En el siguiente código tenemos un condicional if. Justo después tenemos un print()
indentado con cuatro espacios. Por lo tanto, todo lo que tenga esa indentación pertenecerá al bloque del if.
if True:
print("True")
Esto es muy importante ya que el código anterior y el siguiente no son lo mismo. De hecho el siguiente código daría un error ya que el if no contiene ningún bloque de código, y eso es algo que no se puede hacer en Python.
if True:
print("True")
Por otro lado, a diferencia de en otros lenguajes de programación, no es necesario utilizar ;
para terminar cada línea.
# Otros lenguajes como C
# requieren de ; al final de cada línea
x = 10;
Sin embargo en Python no es necesario, basta con un salto de línea.
x = 5
y = 10
Pero se puede usar el punto y coma ;
para tener dos sentencias en la misma línea.
x = 5; y = 10
Múltiples líneas
En algunas situaciones se puede dar el caso de que queramos tener una sola instrucción en varias línea de código. Uno de los motivos principales podría ser que fuera demasiado larga, y de hecho en la especificación PEP8 se recomienda que las líneas no excedan los 79 caracteres.
Haciendo uso de \ se puede romper el código en varias líneas, lo que en determinados casos hace que el código sea mucho más legible.
x = 1 + 2 + 3 + 4 +\
5 + 6 + 7 + 8
Si por lo contrario estamos dentro de un bloque rodeado con paréntesis ()
, bastaría con saltar a la siguiente línea.
x = (1 + 2 + 3 + 4 +
5 + 6 + 7 + 8)
Se puede hacer lo mismo para llamadas a funciones
def funcion(a, b, c):
return a+b+c
d = funcion(10,
23,
3)
Creando variables
Anteriormente ya hemos visto como crear una variable y asignarle un valor con el uso de =
. Existen también otras formas de hacerlo de una manera un poco más sofisticada.
Podemos por ejemplo asignar el mismo valor a diferentes variables con el siguiente código.
x = y = z = 10
O también podemos asignar varios valores separados por coma.
x, y = 4, 2
x, y, z = 1, 2, 3
Nombrando variables
Puedes nombrar a tus variables como quieras, pero es importante saber que las mayúsculas y minúsculas son importantes. Las variables x
y X
son distintas.
Por otro lado existen ciertas normas a la hora de nombrar variables:
- El nombre no puede empezar por un número
- No se permite el uso de guiones
-
- Tampoco se permite el uso de espacios.
Se muestran unos ejemplos de nombres de variables válidos y no válidos.
# Válido
_variable = 10
vari_able = 20
variable10 = 30
variable = 60
variaBle = 10
# No válido
2variable = 10
var-iable = 10
var iable = 10
Una última condición para nombrar a una variable en Python, es no usar nombres reservados para Python. Las palabras reservadas son utilizadas por Python internamente, por lo que no podemos usarlas para nuestras variables o funciones.
import keyword
print(keyword.kwlist)
# ['False', 'None', 'True', 'and', 'as', 'assert',
# 'async', 'await', 'break', 'class', 'continue',
# 'def', 'del', 'elif', 'else', 'except', 'finally',
# 'for', 'from', 'global', 'if', 'import', 'in', 'is',
# 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise',
# 'return', 'try', 'while', 'with', 'yield']
De hecho con el siguiente comando puedes ver todas las palabras clave que no puedes usar.
import keyword
print(keyword.kwlist)
Uso de paréntesis
Python soporta todos los operadores matemáticos más comunes, conocidos como operadores aritméticos. Por lo tanto podemos realizar sumas, restas, multiplicaciones, exponentes (usando **
) y otros que no vamos a explicar por ahora. En el siguiente ejemplo realizamos varias operaciones en la misma línea, y almacenamos su resultado en y
.
x = 10
y = x*3-3**10-2+3
Pero el comportamiento del código anterior y el siguiente es distinto, ya que el uso de paréntesis ()
da prioridad a unas operaciones sobre otras.
x = 10
y = (x*3-3)**(10-2)+3
El uso de paréntesis no solo se aplica a los operadores aritméticos, sino que también pueden ser aplicados a otros operadores como los relacionales o de membresía que vemos en otros posts.
Variables y alcance
Un concepto muy importante cuando definimos una variable, es saber el alcance o scope que tiene. En el siguiente ejemplo la variable con valor 10 tiene un alcance global y la que tiene el valor 5 dentro de la función, tiene un alcance local. Esto significa que cuando hacemos print(x)
, estamos accediendo a la variable global x
y no a la x
definida dentro de la función.
x = 10
def funcion():
x = 5
funcion()
print(x)
No te preocupes si no lo has entendido. Es un concepto un poco complicado de pillar al principio, pero lo veremos más adelante. Te recomendamos leer los siguientes posts para entender mejor las funciones y el alcance de las variables:
Usos y Funciones.
Uso de la función print()
Por último, en cualquier lenguaje de programación es importante saber lo que va pasando a medida que se ejecutan las diferentes instrucciones. Por ello, es interesante hacer uso de print()
en diferentes secciones del código, ya que nos permiten ver el valor de las variables y diferente información útil.
Existen muchas formas de usar la función print()
y te las explicamos en detalle en este post, pero por ahora basta con que sepas lo básico.
Como ya hemos visto se puede usar print()
para imprimir por pantalla el texto que queramos.
print("Esto es el contenido a imprimir")
También es posible imprimir el contenido de una variable.
x = 10
print(x)
Y separando por comas ,
los valores, es posible imprimir el texto y el contenido de variables.
x = 10
y = 20
print("Los valores x, y son:", x, y)
# Salida: Los valores x, y son: 10 20
Estructuras de datos en python
By Eira Rocha
Estructuras de datos en python
- 36