Saltar al contenido

¿Cuál es la diferencia entre listas y tuplas?

Recabamos por el mundo on line para de este modo tener para ti la solución a tu inquietud, si continúas con alguna inquietud puedes dejar un comentario y contestaremos porque estamos para ayudarte.

Solución:

Además de que las tuplas son inmutables, también existe una distinción semántica que debería guiar su uso. Las tuplas son estructuras de datos heterogéneas (es decir, sus entradas tienen significados diferentes), mientras que las listas son secuencias homogéneas. Las tuplas tienen estructura, las listas tienen orden.

El uso de esta distinción hace que el código sea más explícito y comprensible.

Un ejemplo serían pares de páginas y números de línea para hacer referencia a ubicaciones en un libro, por ejemplo:

my_location = (42, 11)  # page number, line number

A continuación, puede utilizar esto como key en un diccionario para almacenar notas sobre ubicaciones. Por otro lado, se podría usar una lista para almacenar múltiples ubicaciones. Naturalmente, es posible que desee agregar o eliminar ubicaciones de la lista, por lo que tiene sentido que las listas sean mutables. Por otro lado, no tiene sentido agregar o eliminar elementos de una ubicación existente; por lo tanto, las tuplas son inmutables.

Puede haber situaciones en las que desee cambiar elementos dentro de una tupla de ubicación existente, por ejemplo, al recorrer las líneas de una página. Pero la inmutabilidad de la tupla te obliga a crear una nueva tupla de ubicación para cada nuevo valor. Esto parece inconveniente a primera vista, pero el uso de datos inmutables como este es una piedra angular de los tipos de valores y las técnicas de programación funcional, que pueden tener ventajas sustanciales.

Hay algunos artículos interesantes sobre este tema, por ejemplo, “Las tuplas de Python no son solo listas constantes” o “Comprender las tuplas frente a las listas en Python”. La documentación oficial de Python también menciona esto

“Las tuplas son inmutables y suelen contener una secuencia heterogénea …”.

En un lenguaje escrito estáticamente como Haskell los valores en una tupla generalmente tienen diferentes tipos y la longitud de la tupla debe ser fija. En una lista, todos los valores tienen el mismo tipo y la longitud no es fija. Entonces la diferencia es muy obvia.

Por último, está la tupla con nombre en Python, que tiene sentido porque ya se supone que una tupla tiene estructura. Esto subraya la idea de que las tuplas son una alternativa ligera a las clases y las instancias.

Diferencia entre lista y tupla

  1. Literal

    someTuple = (1,2)
    someList  = [1,2] 
    
  2. Tamaño

    a = tuple(range(1000))
    b = list(range(1000))
    
    a.__sizeof__() # 8024
    b.__sizeof__() # 9088
    

    Debido al tamaño más pequeño de una operación de tupla, se vuelve un poco más rápida, pero no hay mucho que mencionar hasta que tenga una gran cantidad de elementos.

  3. Operaciones permitidas

    b    = [1,2]   
    b[0] = 3       # [3, 2]
    
    a    = (1,2)
    a[0] = 3       # Error
    

    Eso también significa que no puede eliminar un elemento u ordenar una tupla. Sin embargo, puede agregar un nuevo elemento tanto a la lista como a la tupla con la única diferencia de que, dado que la tupla es inmutable, no es De Verdad agregando un elemento pero está creando una nueva tupla, por lo que la identificación de cambiará

    a     = (1,2)
    b     = [1,2]  
    
    id(a)          # 140230916716520
    id(b)          # 748527696
    
    a   += (3,)    # (1, 2, 3)
    b   += [3]     # [1, 2, 3]
    
    id(a)          # 140230916878160
    id(b)          # 748527696
    
  4. Uso

    Como una lista es mutable, no se puede utilizar como key en un diccionario, mientras que se puede utilizar una tupla.

    a    = (1,2)
    b    = [1,2] 
    
    c = a: 1     # OK
    c = b: 1     # Error
    

Si saliera a caminar, podría anotar sus coordenadas en cualquier instante en una (x,y) tupla.

Si desea registrar su viaje, puede agregar su ubicación cada pocos segundos a una lista.

Pero no podrías hacerlo al revés.

Reseñas y calificaciones

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *