logo

Diferència entre llista i tupla a Python

Les llistes i les tuples a Python són dues classes d'estructures de dades de Python. L'estructura de la llista és dinàmica i es pot canviar fàcilment, mentre que l'estructura de la tupla és estàtica i no es pot canviar. Això vol dir que la tupla és generalment més ràpida que la llista. Les llistes es denoten amb claudàtors i les tuples es denoten amb parèntesis.

Diferències entre List i Tuple a Python

Sno

LLISTA



TUPLE

1 Llistes són mutable Tuples són immutables
2La implicació de les iteracions requereix tempsLa implicació de les iteracions és comparativament més ràpida
3La llista és millor per realitzar operacions, com ara la inserció i la supressió.Un tipus de dades Tuple és adequat per accedir als elements
4Les llistes consumeixen més memòriaTuple consumeix menys memòria en comparació amb la llista
5Les llistes tenen diversos mètodes integratsTuple no té molts mètodes integrats.
6És més probable que es produeixin canvis i errors inesperatsCom que les tuples no canvien, són molt menys propenses a errors.

Python List vs Python Tuple

Comprova si les tuples són immutables i les llistes són mutables

Aquí compararem la llista i les proves de mutabilitat de tuples.

Python 3
# 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)>

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

Ho podem veure aquí tupla no es pot modificar.

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

Sortida:

és una relació
Traceback (most recent call last):  File 'e0eaddff843a8695575daec34506f126.py', line 3, in  tuple1[0]=4 TypeError: 'tuple' object does not support item assignment>

Quina és millor llista o tupla a Python?

Per posar a prova aquesta resposta, anem a executar algunes operacions en una tupla de Python i una llista de Python. Això ens donarà una millor idea de quina és una llista o tupla millor a Python.

Comprova si les tuples són eficients en memòria

Com que les tuples s'emmagatzemen en un únic bloc de memòria, no requereixen espai addicional per als nous objectes, mentre que les llistes s'assignen en dos blocs, primer el fix amb tots els elements. Python informació de l'objecte i, en segon lloc, un bloc de mida variable per a les dades.

Python 3
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))>

Sortida
96 80>

Comproveu si la implicació de les iteracions és comparativament més ràpida en tuples

Com que les tuples s'emmagatzemen en un únic bloc de memòria, per tant, no requereixen espai addicional per als nous objectes ja que són immutables, mentre que les llistes s'assignen en dos blocs, primer el fix amb tots els elements. Python informació de l'objecte i segon un bloc de mida variable per a les dades que les fa encara més ràpides.

Python 3
# 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)>

Sortida

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

Llista mutable vs. tuples immutables

En Python , tant les llistes com les tuples admeten una sèrie d'operacions, com ara indexació, segmentació, concatenació i molt més. Tanmateix, hi ha algunes diferències entre les operacions que estan disponibles per a llistes i tuples a causa de la seva mutabilitat i immutabilitat, respectivament.

Indexació de Python

Tant les llistes com les tuples us permeten accedir a elements individuals mitjançant el seu índex, a partir de 0.

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

Sortida
1 5>

Python Slicing

Tant les llistes com les tuples us permeten extreure un subconjunt d'elements mitjançant el tall.

executant scripts a linux
Python 3
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)>

Sortida
[2, 3] (6, 7, 8)>

Concatenació de Python

Tant les llistes com les tuples es poden concatenar mitjançant l'operador +.

Python 3
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)>

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

Nota - Tanmateix, hi ha algunes operacions que només estan disponibles per a llistes, a causa de la seva mutabilitat.

Apèndix Python

Les llistes es poden afegir amb nous elements mitjançant el mètode append().

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

Sortida
[1, 2, 3, 4]>

Python Extend

Les llistes també es poden ampliar amb una altra llista utilitzant el mètode extend().

ascii d'a en java
Python 3
list1 = [1, 2, 3] list2 = [4, 5, 6] list1.extend(list2) print(list1) # Output: [1, 2, 3, 4, 5, 6]>

Sortida
[1, 2, 3, 4, 5, 6]>

Eliminar Python

Llistes es poden eliminar elements mitjançant el mètode remove().

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

Sortida
[1, 3, 4]>

Quan utilitzar tuples sobre llistes?

En Python , les tuples i les llistes s'utilitzen per emmagatzemar col·leccions de dades, però tenen algunes diferències importants. Aquí hi ha algunes situacions en què és possible que vulgueu utilitzar tuples en lloc de llistes:

Dades immutables Tuples són immutables, per tant, un cop generats, el seu contingut no es pot canviar. Això fa que les tuples siguin una opció adequada per emmagatzemar informació que no hauria de canviar, com ara paràmetres de configuració, valors constants o altra informació que hauria de romandre igual mentre s'executa el programa.

Rendiment Tuples són més lleugers que les llistes i poden ser més ràpids de generar, accedir i repetir, ja que són immutables. L'ús d'una tupla pot ser més eficaç que l'ús d'a llista si teniu una gran col·lecció de dades que necessiteu emmagatzemar, recuperar i utilitzar regularment i no cal que aquestes dades es modifiquin.

Integritat de les dades - En garantir que l'estructura i el contingut de les dades es mantenen coherents, es poden utilitzar tuples per garantir la integritat de les dades. Per assegurar-se que la persona que truca és conscient de quantes dades s'espera, per exemple, si una funció torna una quantitat determinada de valors, és possible que vulgueu tornar-los com una tupla en lloc d'una llista.