Inicio : Python para todos.

Python

Python para todos

Es un curso diseñado para estudiantes e impacientes en el mundo de la programación. No existe un límite de edad ni se requiere de estudios previos para comenzar.

Inicio : Python para todos.

Lección 14: Tuplas

  • Dificultad: Fácil.
  • Objetivo: Aprenderás a crear tuplas con la función tuple, contar e identificar sus elementos, concatenar y multiplicar estas estructuras de datos. Además, conocerás como desempaquetar y comparar una tupla, al finalizar la parte teórica se mostrará un ejemplo práctico de su uso.
Inicio : Python para todos.

Definir una tupla

Definición. Una tupla es una estructura de datos que permite almacenar información de manera muy similar a la de una lista, pero existen dos diferencias; la primera, son inmutables; la segunda, se crean a partir de paréntesis.

Usando los paréntesis () es posible crear una tupla como se muestra en el bloque siguiente:

var = (1, 2, 3, 4, 5)

Otra forma sencilla para crear este tipo de estructura de datos es declarando los elementos y separando cada uno mediante comas.

var = 1, 2, 3, 4, 5
Inicio : Python para todos.

Características de las tuplas

Las tuplas son:

  • heterogéneas: sus elementos pueden ser de diferentes tipos, incluidas otras tuplas.
  • inmutables: las tuplas no se pueden actualizar, ni eliminar o agregar un elemento adicional, pero si es posible concatenar dos más tuplas.
Inicio : Python para todos.

Acceder al contenido de una tupla

Para acceder al contenido de una lista usamos su índice, lo mismo sucede con las tuplas, su índice inicial es 0 hasta n elementos.

>>> var = (1, 2, 3, (10, 12, 14), 'Cadena de texto')
>>> var[4]

Para conocer la longitud de una tupla use la función len().

>>> len(var)
>>> 5
Inicio : Python para todos.

Generar una tupla de una lista con la función tuple()

Es posible convertir una lista a tupla mediante la función tuple().

>>> tuple(list(range(10)))
>>> (0, 1, 2, 3, 4, 5, 6, 7, 8, 9)

tuple() es un constructor.

Inicio : Python para todos.

Consultar un elemento de una tupla

La consulta de un elemento dentro de una tupla es posible utilizando los corchetes y los índices, al igual que las listas, las tuplas manejan un índice similar.

>>> var = (1, 2, 3, (10, 12, 14), 'Cadena de texto')
>>> var[0]
>>> 1

Los corchetes sirven para realizar una consulta dentro de una tupla, use tuple[Index].

Las tuplas pueden incrementar su dimensión indefinidamente y contener otras tuplas, clasificadas como simples o compuestas; por lo tanto, son heterogéneas.

Inicio : Python para todos.

Consultar un elemento de una tupla dentro de otra tupla

La consulta de un elemento de una tupla dentro de otra tupla es posible utilizando los índices y para tener acceso a la segunda tupla es necesario agregar a la consulta un segundo par de corchetes.

>>> var = (1, 2, 3, (10, 12, 14), 'Cadena de texto')
>>> var[3][2]
>>> 14

Los corchetes sirven para realizar una consulta dentro de una tupla, use tuple[Index][Index].

Inicio : Python para todos.

Asignar el contenido de una tupla a n cantidad de variables

Si se conoce la cantidad de elementos contenidos en una tupla es posible asignar a esa cantidad de elementos una variable independiente en orden ascendente al indice de la tupla, por ejemplo:

>>> var = (1, 2, 3, (10, 12, 14), 'Cadena de texto')
>>> x1, x2, x3, x4, x5 = var

Cada variable declarada tiene asignado un elemento de la tupla del primer nivel o inicial. La tupla contenida en la variable x4 puede asignarse a nuevas variables debido a que se encuentra en un nivel inicial.

La asignación del contenido de una tupla a una serie de variables se le conoce como desempaquetado.

Inicio : Python para todos.

Consulta del contenido de una tupla con el operador in

Para encontrar un elemento dentro de una tupla es posible usando el operador in, si lo encuentra mostrará true y en caso contrario false.

>>> var = (1, 2, 3, (10, 12, 14), 'Cadena de texto')
>>> 1 in var
>>> True
>>> 12 in var
>>> False
>>> 12 in var[3]
>>> True

La búsqueda de un elemento se realiza en el primer nivel, si contiene una tupla otra tupla es necesario especificar dicho nivel para excluir el principal, lo mismo sucede con las listas.

Inicio : Python para todos.

Método count()

Dentro de una tupla es posible contar los elementos repetidos que contiene en el nivel inicial, si la tupla contiene otras tuplas la consulta debe asignarse a ese nivel mediante el uso del index.

>>> var = (1, 2, 3, (10, 12, 14), 'Cadena de texto')
>>> var.count(2)
>>> 1

Para contabilizar elementos contenidos en una tupla dentro de otra tupla es necesario especificar dicho nivel para excluir el principal, lo mismo sucede con las listas.

>>> var[3].count(14)
>>> 1
Inicio : Python para todos.

Comparación de tuplas

Para determinar si una tupla es menor que otra se utiliza el orden lexicográfico, si los primeros elementos son distintos estos determinan el ordenamiento de las tuplas.

>>> (8, 2, 5) < (12, 15, 0, 1)
>>> True

Si cambiamos el número 12 de la segunda tupla por el número 1 se obtiene False.

>>> (8, 2, 5) < (1, 15, 0, 1)
>>> False
Inicio : Python para todos.

Multiplicar y concatenar tuplas

Para concatenar dos tuplas use el signo de adición. Un ejemplo se muestra en el bloque siguiente:

>>> (8, 2, 5) + (12, 15, 0, 1)
>>> (8, 2, 5, 12, 15, 0, 1)

Multiplicar una tupla genera únicamente la repetición de la misma..

>>> (8, 2, 5) * 2
>>> (8, 2, 5, 8, 2, 5)
Inicio : Python para todos.

Ejemplo práctico del uso de tuplas

Mediante el uso de tuplas realiza un código en Python para obtener la distancia de dos puntos en el plano XY. Utiliza la ecuación siguiente:

d=(Y2Y1)2+(X2X1)2d = \sqrt{\left ( Y_{2}-Y_{1} \right )^{2} + \left ( X_{2}-X_{1} \right )^{2}}

La solución es la siguiente:

def distancia(p1,p2):
  x1, y1 = p1 
  x2, y2 = p2
  dx = x2 - x1
  dy = y2 - y1
  return  (dx ** 2 + dy ** 2) ** 0.5