logo

Diferencia entre lista y tupla en Python

Las listas y tuplas en Python son dos clases de estructuras de datos de Python. La estructura de la lista es dinámica y se cambia fácilmente, mientras que la estructura de tupla es estática y no se puede cambiar. Esto significa que la tupla es generalmente más rápida que la lista. Las listas se indican entre corchetes y las tuplas entre paréntesis.

Diferencias entre lista y tupla en Python

nieve

LISTA



TUPLE

1 Liza son mudable tuplas son inmutables
2La implicación de las iteraciones requiere mucho tiempo.La implicación de las iteraciones es comparativamente más rápida.
3La lista es mejor para realizar operaciones, como inserción y eliminación.Un tipo de datos Tuple es apropiado para acceder a los elementos.
4Las listas consumen más memoriaTuple consume menos memoria en comparación con la lista
5Las listas tienen varios métodos integrados.Tuple no tiene muchos métodos integrados.
6Es más probable que se produzcan cambios y errores inesperadosComo las tuplas no cambian, son mucho menos propensas a errores.

Lista de Python frente a tupla de Python

Pruebe si las tuplas son inmutables y las listas son mutables

Aquí vamos a comparar las pruebas de mutabilidad de listas y tuplas.

Python3
# Creating a List with # the use of Numbers # code to test that tuples are mutable List = [1, 2, 4, 4, 3, 3, 3, 6, 5] print('Original list ', List) List[3] = 77 print('Example to show mutability ', List)>

Producción
Original list [1, 2, 4, 4, 3, 3, 3, 6, 5] Example to show mutability [1, 2, 4, 77, 3, 3, 3, 6, 5]>

Podemos ver aquí tupla no se puede modificar.

Python3
# code to test that tuples are immutable tuple1 = (0, 1, 2, 3) tuple1[0] = 4 print(tuple1)>

Producción:

seleccionar entre varias tablas en sql
Traceback (most recent call last):  File 'e0eaddff843a8695575daec34506f126.py', line 3, in  tuple1[0]=4 TypeError: 'tuple' object does not support item assignment>

¿Cuál es mejor lista o tupla en Python?

Para poner a prueba esta respuesta, ejecutemos algunas operaciones en una tupla de Python y una lista de Python. Esto nos dará una mejor idea de cuál es una mejor lista o tupla en Python.

Pruebe si las tuplas son eficientes en memoria

Como las tuplas se almacenan en un solo bloque de memoria, no requieren espacio adicional para nuevos objetos, mientras que las listas se asignan en dos bloques, primero el fijo con todos los Pitón información del objeto y en segundo lugar un bloque de tamaño variable para los datos.

Python3
import sys a_list = [] a_tuple = () a_list = ['Geeks', 'For', 'Geeks'] a_tuple = ('Geeks', 'For', 'Geeks') print(sys.getsizeof(a_list)) print(sys.getsizeof(a_tuple))>

Producción
96 80>

Pruebe si la implicación de las iteraciones es comparativamente más rápida en Tuplas

Como las tuplas se almacenan en un único bloque de memoria, no requieren espacio adicional para nuevos objetos, ya que son inmutables, mientras que las listas se asignan en dos bloques, primero el fijo con todos los Pitón información del objeto y en segundo lugar un bloque de tamaño variable para los datos que los hace aún más rápidos.

Python3
# code import sys, platform import time l=list(range(100000001)) t=tuple(range(100000001)) start = time.time_ns() for i in range(len(t)): a = t[i] end = time.time_ns() print('Total lookup time for Tuple: ', end - start) start = time.time_ns() for i in range(len(l)): a = l[i] end = time.time_ns() print('Total lookup time for LIST: ', end - start)>

Producción

Total lookup time for Tuple: 7038208700 Total lookup time for LIST: 19646516700>

Lista mutable frente a tuplas inmutables

En Pitón , tanto las listas como las tuplas admiten una variedad de operaciones, incluidas indexación, división, concatenación y más. Sin embargo, existen algunas diferencias entre las operaciones disponibles para listas y tuplas debido a su mutabilidad e inmutabilidad, respectivamente.

Indexación de Python

Tanto las listas como las tuplas le permiten acceder a elementos individuales utilizando su índice, comenzando desde 0.

Python3
my_list = [1, 2, 3] my_tuple = (4, 5, 6) print(my_list[0]) # Output: 1 print(my_tuple[1]) # Output: 5>

Producción
1 5>

Rebanado de pitón

Tanto las listas como las tuplas le permiten extraer un subconjunto de elementos mediante corte.

infierno de devolución de llamada en javascript
Python3
my_list = [1, 2, 3, 4, 5] my_tuple = (6, 7, 8, 9, 10) print(my_list[1:3]) # Output: [2, 3] print(my_tuple[:3]) # Output: (6, 7, 8)>

Producción
[2, 3] (6, 7, 8)>

Concatenación de Python

Tanto listas como tuplas se pueden concatenar utilizando el operador +.

Python3
list1 = [1, 2, 3] list2 = [4, 5, 6] tuple1 = (7, 8, 9) tuple2 = (10, 11, 12) print(list1 + list2) # Output: [1, 2, 3, 4, 5, 6] print(tuple1 + tuple2) # Output: (7, 8, 9, 10, 11, 12)>

Producción
[1, 2, 3, 4, 5, 6] (7, 8, 9, 10, 11, 12)>

Nota - Sin embargo, hay algunas operaciones que están disponibles sólo para listas, debido a su mutabilidad.

Agregar Python

A las listas se les pueden agregar nuevos elementos usando el método append().

Python3
my_list = [1, 2, 3] my_list.append(4) print(my_list) # Output: [1, 2, 3, 4]>

Producción
[1, 2, 3, 4]>

Ampliación de Python

Las listas también se pueden ampliar con otra lista utilizando el método extend().

java cast int a cadena
Python3
list1 = [1, 2, 3] list2 = [4, 5, 6] list1.extend(list2) print(list1) # Output: [1, 2, 3, 4, 5, 6]>

Producción
[1, 2, 3, 4, 5, 6]>

Quitar Python

Liza Se pueden eliminar elementos utilizando el método remove().

Python3
my_list = [1, 2, 3, 4] my_list.remove(2) print(my_list) # Output: [1, 3, 4]>

Producción
[1, 3, 4]>

¿Cuándo utilizar tuplas en lugar de listas?

En Pitón , las tuplas y las listas se utilizan para almacenar colecciones de datos, pero tienen algunas diferencias importantes. A continuación se muestran algunas situaciones en las que es posible que desee utilizar tuplas en lugar de listas:

Datos inmutables tuplas son inmutables, por lo que una vez generados, su contenido no se puede cambiar. Esto hace que las tuplas sean una opción adecuada para almacenar información que no debería cambiar, como configuraciones de configuración, valores constantes u otra información que debería permanecer igual mientras se ejecuta el programa.

Actuación tuplas son más livianos que las listas y pueden ser más rápidos de generar, acceder e iterar, ya que son inmutables. Usar una tupla puede ser más efectivo que usar una lista si tiene una gran colección de datos que necesita almacenar, recuperar y utilizar con regularidad y no es necesario modificar esos datos.

Integridad de los datos - Al garantizar que la estructura y el contenido de los datos sean consistentes, se pueden utilizar tuplas para garantizar la integridad de los datos. Para asegurarse de que la persona que llama sepa cuántos datos esperar, por ejemplo, si una función devoluciones una cantidad determinada de valores, es posible que desee devolverlos como una tupla en lugar de una lista.