logo

Diferența dintre listă și tuplu în Python

Listele și tuplurile din Python sunt două clase de structuri de date Python. Structura listei este dinamică și ușor de schimbată, în timp ce structura tuplului este statică și nu poate fi modificată. Aceasta înseamnă că tuplul este în general mai rapid decât lista. Listele sunt notate prin paranteze drepte, iar tuplurile sunt notate cu paranteze.

Diferențele dintre Listă și Tuple în Python

Sno

LISTĂ



TUPLU

1 Liste sunt mutabil Tupluri sunt imuabile
2Implicația iterațiilor necesită timpImplicația iterațiilor este comparativ mai rapidă
3Lista este mai bună pentru a efectua operațiuni, cum ar fi inserarea și ștergerea.Un tip de date Tuple este adecvat pentru accesarea elementelor
4Listele consumă mai multă memorieTuple consumă mai puțină memorie în comparație cu lista
5Listele au mai multe metode încorporateTuple nu are multe metode încorporate.
6Este mai probabil să apară schimbări și erori neașteptateDeoarece tuplurile nu se schimbă, sunt mult mai puțin predispuse la erori.

Python List vs Python Tuple

Testați dacă tuplurile sunt imuabile și listele sunt mutabile

Aici vom compara lista și testele de mutabilitate tuple.

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

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

Putem vedea aici tuplu nu poate fi modificat.

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

Ieșire:

cum se execută un script
Traceback (most recent call last):  File 'e0eaddff843a8695575daec34506f126.py', line 3, in  tuple1[0]=4 TypeError: 'tuple' object does not support item assignment>

Care este mai bună listă sau tuplu în Python?

Pentru a pune acest răspuns la test, să rulăm câteva operații pe un tuplu Python și o listă Python. Acest lucru ne va oferi o idee mai bună despre care este o listă sau un tuplu mai bun în Python.

Testați dacă tuplurile sunt eficiente în memorie

Deoarece tuplurile sunt stocate într-un singur bloc de memorie, nu necesită spațiu suplimentar pentru obiecte noi, în timp ce listele sunt alocate în două blocuri, mai întâi cel fix cu toate Piton informații despre obiect și în al doilea rând un bloc de dimensiuni variabile pentru date.

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

Ieșire
96 80>

Testați dacă implicarea iterațiilor este comparativ mai rapidă în tupli

Deoarece tuplurile sunt stocate într-un singur bloc de memorie, prin urmare, nu necesită spațiu suplimentar pentru obiecte noi, deoarece sunt imuabile, în timp ce listele sunt alocate în două blocuri, mai întâi cel fix cu toate Piton informații despre obiect și apoi un bloc de dimensiuni variabile pentru date, ceea ce le face și mai rapide.

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

Ieșire

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

Lista mutabilă vs. Tupluri imuabile

În Piton , atât listele, cât și tuplurile acceptă o gamă largă de operațiuni, inclusiv indexare, tăiere, concatenare și multe altele. Cu toate acestea, există unele diferențe între operațiunile care sunt disponibile pentru liste și tuple datorită mutabilității și, respectiv, imuabilității acestora.

Indexarea Python

Atât listele, cât și tuplurile vă permit să accesați elemente individuale folosind indexul lor, începând de la 0.

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

Ieșire
1 5>

Tăiere Python

Atât listele, cât și tuplurile vă permit să extrageți un subset de elemente folosind tăierea.

căutarea contradictorie
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)>

Ieșire
[2, 3] (6, 7, 8)>

Concatenare Python

Atât listele, cât și tuplurile pot fi concatenate folosind operatorul +.

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

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

Notă - Cu toate acestea, există unele operațiuni care sunt disponibile doar pentru liste, datorită mutabilității lor.

Python Append

Listele pot fi adăugate cu elemente noi folosind metoda append().

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

Ieșire
[1, 2, 3, 4]>

Python Extend

Listele pot fi extinse și cu o altă listă folosind metoda extend().

mysql listează toți utilizatorii
Python3
list1 = [1, 2, 3] list2 = [4, 5, 6] list1.extend(list2) print(list1) # Output: [1, 2, 3, 4, 5, 6]>

Ieșire
[1, 2, 3, 4, 5, 6]>

Eliminare Python

Liste poate avea elemente eliminate folosind metoda remove().

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

Ieșire
[1, 3, 4]>

Când să folosiți tuple peste liste?

În Piton , tuplurile și listele sunt folosite ambele pentru a stoca colecții de date, dar au unele diferențe importante. Iată câteva situații în care ați putea dori să utilizați tupluri în loc de liste -

Date imuabile Tupluri sunt imuabile, astfel, odată ce sunt generate, conținutul lor nu poate fi modificat. Acest lucru face ca tuplurile să fie o opțiune potrivită pentru stocarea informațiilor care nu ar trebui să se schimbe, cum ar fi setările de configurare, valorile constante sau alte informații care ar trebui să rămână aceleași în timp ce programul dumneavoastră rulează.

Performanţă Tupluri sunt mai ușoare decât listele și ar putea fi mai rapid de generat, accesat și repetat, deoarece sunt imuabile. Utilizarea unui tuplu poate fi mai eficientă decât utilizarea unui listă dacă aveți o colecție imensă de date pe care trebuie să le stocați, să le preluați și să le utilizați în mod regulat și că datele nu trebuie modificate.

Integritatea datelor - Asigurându-se că structura și conținutul datelor rămân consistente, tuplurile pot fi utilizate pentru a asigura integritatea datelor. Pentru a vă asigura că apelantul este conștient de câte date să se aștepte, de exemplu, în cazul unei funcții se intoarce o cantitate stabilită de valori, este posibil să doriți să le returnați ca un tuplu mai degrabă decât o listă.