¿Cuál es la diferencia entre lista y tupla??
Publicado: 2021-11-28Las tuplas y las listas son un tipo de estructura de datos utilizada en Python. Las listas almacenan datos en una sola variable usando corchetes, mientras que las tuplas almacenan datos en una variable con la ayuda de paréntesis. Ambas estructuras se utilizan para almacenar múltiples valores y objetos.
Este artículo profundizará en las diferencias clave entre la lista y la tupla y explorará sus casos de uso. Pero primero, echemos un vistazo rápido a las similitudes principales entre ellos:
- Puede almacenar elementos y objetos de todos los tipos de datos tanto en tuplas como en listas.
- Tanto la tupla como la lista permiten acceder a los datos utilizando su índice respectivo.
- Ambos tipos de datos pueden compilar y catalogar una variedad de elementos de datos.
Tabla de contenido
Tupla de Python vs lista
1. Diferencias de sintaxis
La declaración de listas y tuplas es invariablemente diferente en Python. Las listas se declaran usando corchetes '[]', mientras que la declaración de tuplas se hace usando '()'.
Aquí hay un ejemplo para comprender mejor cómo declarar listas y tuplas en Python.
lista_num = [7,8,9,10]
tup_num = (10,11,13,14)
imprimir (núm_lista)
imprimir(tup_num)
La salida de esta secuencia sería.
[7,8,9,10]
(10,11,13,14)
En este ejemplo, se define una variable llamada list_num que acomoda números del 7 al 10. También vemos que la salida está encerrada entre corchetes. Sin embargo, la variable definida como tup_num y contiene los números del 10 al 14 muestra una salida usando paréntesis.
Python usa una función type() que nos ayuda a comprender el tipo de elementos creados.
imprimir (tipo (tup_num))
imprimir(tipo(lista_num))
Producción:
<clase 'tupla'>
<clase 'lista'>
2. Mutabilidad (Mutable vs Inmutable)
Las tuplas y las listas son contradictorias cuando se trata de su mutabilidad. Las tuplas son estructuras inmutables que no se pueden modificar ni cambiar una vez creadas. Por el contrario, las listas son estructuras mutables que se pueden alterar o modificar fácilmente después de su creación.
Solo las tuplas se pueden usar como clave para los diccionarios debido a su naturaleza inmutable. Las listas nunca se pueden utilizar como claves cuando sea necesario.
3. Cambiar un objeto (Lista vs Tupla)
Averigüemos qué sucede cuando se crea un intento de realizar un cambio en la lista.
nombre = [alex, rick, martin]
nombre [0] = "roxy"
Nota : el primer elemento siempre se denomina 0 y no 1.
Ahora echemos un vistazo a cómo se vería la salida después del siguiente comando:
>>>nombre
Producción:
[roxy, rick, martín]
El resultado muestra cómo cambió el primer elemento de la lista.
Ahora veamos cuál sería el resultado si se usara una tupla.
nombre = (alex, rick, martin)
Cuando un elemento en la tupla se cambia usando
nombre(0) = “roxy”
La salida será:
TypeError: el objeto 'tupla' no admite la asignación de elementos.
Esto significa que la estructura de datos de la tupla no admite un objeto que se modificó posteriormente. Por lo tanto, podemos concluir que solo se pueden modificar listas y no tuplas.
4. Copias vs Reutilizados
No se pueden copiar tuplas. La razón aquí es la naturaleza inmutable de las tuplas. Por ejemplo, si ejecuta una tupla (tup_name), verá que se ha restaurado a sí misma.
Ejemplo:
nombres = ('allen”,”siri”, “Michaela”)
copyNames = tupla(nombres)
imprimir (nombres es copyNames)
La salida aquí será - "Verdadero".
Por el contrario, si intenta hacer lo mismo con una lista (como se ilustra en el ejemplo):
Ejemplo:
nombres = [“allen”, “siri”' “Michaela”]
copyNames = lista (nombres)
imprimir (nombres es copyNames)
La salida se mostrará como "falsa".
Tendría que copiar y pegar los nombres completos en la nueva lista para obtener un resultado real.
5. Python Tupla vs Lista | Diferencias de tamaño
Debido a la naturaleza inmutable de la tupla, Python solo asigna memorias de tupla en forma de bloques grandes con una sobrecarga relativamente baja. Para las listas, Python solo proporciona bloques de memoria de tamaños más pequeños. Como resultado, las tuplas tienen solo una pequeña cantidad de memoria en comparación con las listas. Sin embargo, esto significa que las tuplas son mucho más rápidas de usar que las listas cuando hay muchos elementos involucrados.
6. Heterogéneo vs Homogéneo
Las tuplas pueden almacenar elementos de varios tipos que son heterogéneos. Por el contrario, las listas pueden almacenar características o datos de la misma variante que son homogéneos.
Esto, sin embargo, es sólo una diferencia semántica. Por ejemplo, las listas pueden almacenar datos de varios tipos y las tuplas también pueden almacenar datos del mismo tipo.
Ejemplo:
list_elements = ['allen', 20, 'maria']
tuple_elements = ('allen', “maria”, 'alex')
El código se ejecutará sin problemas, aunque la lista tenga una combinación de números y cadenas.
7. Diferencias de longitud
Las listas y las tuplas también varían en longitud y tamaño. Mientras que las tuplas varían en longitud, la longitud de la tupla es fija. Por lo tanto, el tamaño de las listas se puede cambiar en cualquier momento, a diferencia de la longitud de las tuplas que permanecen fijas una vez definidas.
Ejemplo:
list_names = ['allen', 'mary', 'alex']
lista_nombres.append(“roxy”)
imprimir (lista_nombres)
Producción:
['allen', 'maria', 'alex', 'roxy']
El resultado exacto también podría haberse logrado usando la función insert() en lugar de la función append() cuando se trata de listas.
Sin embargo, la estructura de datos de la tupla no nos proporciona ninguna forma de cambiar su tamaño.
8. Casos de uso
Bajo diferentes circunstancias, al menos una de estas estructuras de datos funciona bien. Por lo general, depende del codificador del programa en el que se utiliza la estructura de datos. La estructura de datos se elige en función de si los elementos de datos se reescribirán en el futuro.
Las tuplas son mucho más vitales como estructuras de datos en comparación con las listas porque:
- El uso de tuplas en lugar de listas puede informar al codificador o al intérprete de datos para que no cambie la información.
- También puede restaurar datos sin claves usando una tupla.
- Las tuplas son equivalentes a los diccionarios en Python.
- Las tuplas almacenadas dentro de una lista son muy fáciles de leer.
La naturaleza inmutable y hashable de las tuplas las convierte en un reemplazo perfecto para los diccionarios. Por otro lado, no puede usar listas para reemplazar diccionarios porque no admiten la función _hash_().
Ejemplo:
key_val= {('alex', 'valiente'):124} #Válido
key_val = {['alex', 'valiente']:124} #Inválido
9. Listas de anidamiento y tuplas
Las tuplas y las listas se pueden almacenar entre sí. Las tuplas anidadas pueden contener más tuplas. Del mismo modo, las listas anidadas también pueden tener más listas.
10. Depuración
Las tuplas son mucho más fáciles de depurar en proyectos más extensos en comparación con las listas. Esto se debe a las características inmutables de las tuplas. Sin embargo, cuando se trata de una cantidad mucho menor de datos, siempre se sugiere confiar en las listas. Las tuplas también son mucho más fáciles de rastrear porque no se pueden cambiar, a diferencia de las listas, donde los errores son difíciles de seguir.
11. Funciones y operaciones
Python tiene algunas funciones beneficiosas que se pueden aplicar a tuplas y listas, como sorted, sum, all, min, max, lean, etc.
Cuando se trata de operaciones, uno puede encontrar muchas similitudes en listas y tuplas. Sin embargo, las listas tienen algunas funcionalidades adicionales que están ausentes en las tuplas. En su mayoría, se trata de operaciones de extracción e inserción, junto con la eliminación y el almacenamiento de elementos.
Conclusiones clave
- Las tuplas tienen menos funcionalidades que las listas.
- La estructura de la tupla es inmutable, mientras que la estructura de las listas es mutable.
- Las tuplas vienen en longitudes fijas, mientras que la longitud de las listas puede variar.
- La sintaxis de la lista se representa mediante corchetes “[]”, mientras que la sintaxis de las tuplas se presenta en forma de paréntesis “()”.
- Las tuplas consumen menos memoria en comparación con las listas.
- La estructura de datos de tupla es mejor cuando se trata de elementos de acceso.
- La lista de funciones es mejor para realizar operaciones específicas de eliminación e inserción.
- Las iteraciones implicadas en las tuplas son más rápidas que las implicadas en las listas.
- La lista puede tener múltiples métodos construidos, mientras que la tupla no tiene ninguno.
Aprenda en detalle sobre el meollo de Python y sus conceptos avanzados a través de la Maestría en Ciencias en Ciencia de Datos de 18 meses de upGrad programa en colaboración con la Universidad John Moores de Liverpool y el IIIT Bangalore. Con profesores líderes en la industria a su disposición, más de 500 horas de material de aprendizaje y clases de resolución de dudas, los estudiantes tienen la oportunidad de dominar Python y otros fundamentos de la ciencia de datos para dirigir sus carreras en consecuencia. Además, el programa ayuda a desarrollar competencia en más de 14 idiomas y herramientas como Tableau, MySQL, Excel, MongoDB y más.
Entonces, no lo dudes. ¡Comuníquese con nosotros hoy!
¿Cuándo usar Tuplas o Listas?
Si necesita que sus elementos de datos sean de solo lectura, debe usar tuplas. Los datos permanecen constantes en tuplas debido a su disponibilidad garantizada de datos que nunca cambian.
Las listas, sin embargo, son muy mutables. Por lo tanto, los datos en ellos siempre se pueden cambiar. Mover, cambiar, eliminar y agregar elementos a una lista es muy flexible. Se utilizan mejor cuando los datos requieren modificaciones en las últimas etapas del ciclo del programa.
¿Son las tuplas más rápidas en comparación con las listas?
Sí, crear una tupla lleva mucho menos tiempo que crear una lista. Cuando se hacen listas, se necesita acceder a más de un bloque de memoria. Esto se debe a que los elementos de las tuplas no se pueden quitar ni reemplazar, mientras que las características de las listas se pueden cambiar varias veces durante el ciclo del programa.
¿Dónde se usan las tuplas y las listas en la vida real?
Se puede hacer una lista para almacenar los pasos necesarios para cocinar un plato específico usando una receta particular. La lista implica el acceso secuencial a los datos. Por lo tanto, uno puede acceder a los pasos en orden. Por otro lado, las tuplas se pueden utilizar para almacenar datos como la longitud o la latitud de tu residencia. Esto se debe a que una tupla es una colección de datos predefinidos. También puede usar la misma tupla para almacenar las coordenadas de ubicación de otros lugares.