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 |
| 2 | Implicația iterațiilor necesită timp | Implicația iterațiilor este comparativ mai rapidă |
| 3 | Lista este mai bună pentru a efectua operațiuni, cum ar fi inserarea și ștergerea. | Un tip de date Tuple este adecvat pentru accesarea elementelor |
| 4 | Listele consumă mai multă memorie | Tuple consumă mai puțină memorie în comparație cu lista |
| 5 | Listele au mai multe metode încorporate | Tuple nu are multe metode încorporate. |
| 6 | Este mai probabil să apară schimbări și erori neașteptate | Deoarece 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 contradictoriePython3
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 utilizatoriiPython3
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ă.