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 |
| 2 | La implicación de las iteraciones requiere mucho tiempo. | La implicación de las iteraciones es comparativamente más rápida. |
| 3 | La lista es mejor para realizar operaciones, como inserción y eliminación. | Un tipo de datos Tuple es apropiado para acceder a los elementos. |
| 4 | Las listas consumen más memoria | Tuple consume menos memoria en comparación con la lista |
| 5 | Las listas tienen varios métodos integrados. | Tuple no tiene muchos métodos integrados. |
| 6 | Es más probable que se produzcan cambios y errores inesperados | Como 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 javascriptPython3
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 cadenaPython3
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.