Różnice między Python Tuple a List

Python Tuple vs List to najczęściej używane struktury danych w Pythonie. Przechowują kolekcję przedmiotów, obiektów lub wartości, w określonej kolejności. Mogą przechowywać elementy dowolnego typu danych, a do tego elementu można uzyskać dostęp za pomocą jego indeksu. Są to podobieństwa w listach i krotkach, ale jaka jest różnica?

Różnica polega na tym, że krotka jest niezmienna. Oznacza to, że nie można go zmieniać, zmieniać ani manipulować. Krotka jest zwykle używana właśnie dla tej właściwości. Jednym z wielu zastosowań krotek w Pythonie jest rozpakowywanie sekwencji, w którym przechowujemy zwrócone dane w kilku określonych zmiennych. Spójrzmy na ten przykład dla krotki:

test def ()
zwrot 1, 2
a, b = test ()
drukuj (a, b)

W tym przypadku użyliśmy krotki, aby zwrócić wartość z funkcji, a zatem podczas drukowania wartości nie możemy jej modyfikować.

Python Tuple może nie zawierać nawiasów lub nawiasów takich jak „()”. To pomaga Pythonowi zrozumieć listę z krotki. Lista Python jest zdefiniowana w nawiasach kwadratowych. Jego funkcjonalność jest podobna do działania tablicy w innych językach. Przykład:

x = (1, 3, 5, 6, 2, 1, 6) print (x): Drukuje pełną listę
print (x (0), x (1)): Drukuje listę zaczynając od indeksu 0

Te dwie struktury są często mylone ze względu na podobieństwa.

Bezpośrednie porównanie między Pythonem Tuple a listą (infografiki)

Poniżej znajduje się lista 6 najlepszych zestawień Python Tuple vs.

Kluczowe różnice między Pythonem Tuple a listą

Poniżej znajdują się listy punktów, opisz kluczowe różnice między Python Tuple a listą:

Funkcjonalność operacji

Listy mają dodatkowe wbudowane funkcje w porównaniu do krotek. Listy i krotki mają wspólne metody index () i count (), ale poza nimi listy mają wiele funkcji, które mają zastosowanie wyłącznie do list takich jak append (), remove (), clear (), sort (), reverse ( ) itp.

Możemy użyć wbudowanej funkcji dir ((obiekt)), aby znaleźć wszystkie funkcje związane z listami i krotkami. Dane wyjściowe dla takiego polecenia byłyby następujące:

Obiekt listy:

('__Dodaj__',
'__klasa__',
„__contains__”,
„__delattr__”,
„__delitem__”,
„__dir__”,
„__doc__”,
„__eq__”,
'__format__',
„__ge__”,
„__getattribute__”,
'__Zdobądź przedmiot__',
„__gt__”,
'__haszysz__',
'__Dodaję__',
„__imul__”,
'__w tym__',
„__init_subclass__”,
„__iter__”,
„__le__”,
„__len__”,
„__lt__”,
„__mul__”,
„__ne__”,
'__Nowy__',
'__redukować__',
„__reduce_ex__”,
„__repr__”,
'__wywrócony__',
„__rmul__”,
„__setattr__”,
„__setitem__”,
'__rozmiar__',
„__str__”,
„__subclasshook__”,
'dodać',
'jasny',
'Kopiuj',
'liczyć',
'poszerzać',
'indeks',
'wstawić',
'Muzyka pop',
'usunąć',
'rewers',
'sortować')

Obiekt krotowy:

('__Dodaj__',
'__klasa__',
„__contains__”,
„__delattr__”,
„__dir__”,
„__doc__”,
„__eq__”,
'__format__',
„__ge__”,
„__getattribute__”,
'__Zdobądź przedmiot__',
„__getnewargs__”,
„__gt__”,
'__haszysz__',
'__w tym__',
„__init_subclass__”,
„__iter__”,
„__le__”,
„__len__”,
„__lt__”,
„__mul__”,
„__ne__”,
'__Nowy__',
'__redukować__',
„__reduce_ex__”,
„__repr__”,
„__rmul__”,
„__setattr__”,
'__rozmiar__',
„__str__”,
„__subclasshook__”,
'liczyć',
'indeks')

Widzimy, że istnieją dodatkowe funkcjonalności powiązane z listą niż dla krotki.

Ocena rozmiaru

Operacje krotkowe mają mniejszy rozmiar niż operacje listowe. Dzięki temu operacje są szybsze, gdy istnieje ogromna liczba elementów. Zobaczmy przykład obliczania wielkości listy i elementów krotkowych.

x = (1, 2, 3, 4, 5, 6, 7, 8, 9, 0)
y = (1, 2, 3, 4, 5, 6, 7, 8, 9, 0)
print ('x =', x .__ sizeof __ ())
print ('y =', y .__ sizeof __ ())

Wynik:

x = 104
y = 120

W tym przykładzie mamy krotkę x i listę y zawierającą tę samą liczbę elementów, ale rozmiar krotki jest mniejszy niż na liście.

Różne przypadki użycia

Początkowo może się wydawać, że listy zawsze będą w stanie zastąpić krotki, ale tak nie jest. Możemy to zrozumieć z następujących powodów:

  • Kiedy krotka jest używana w przeciwieństwie do listy, daje widzowi wyobrażenie, że obecne dane mogą i nie powinny być zmieniane.
  • Krotki są często używane do przechowywania danych jako słownika bez kluczy.

Przykład:

((„Pracownik 1”, 1000), („Pracownik 2”, 1001), („Pracownik 3”, 1002))

Krotki mogą być również używane jako klucze w słownikach ze względu na ich mieszalny i niezmienny charakter. Listy nie są do tego odpowiednie, ponieważ nie mogą obsłużyć funkcji __hash __ () i mają charakter zmienny.

key_value = (('a', 'b'): 1) # Ważny
key_value = (('a', 'b'): 1) #Invalid

  • Czytelność jest zwiększona, tzn. Czytanie informacji jest łatwiejsze, gdy krotki są przechowywane na liście, w przeciwieństwie do gdy listy są przechowywane na liście. Przykład:
((2, 4), (5, 7), (3, 8), (5, 9)) jest łatwiejszy do odczytania niż ((2, 4), (5, 7), (3, 8), ( 5, 9))

Wykorzystanie krotek i list

Używamy krotki, gdy wiemy, jakie informacje należy podać, i musimy zapisać wartości przed modyfikacją, na przykład kiedy musimy przechowywać dane uwierzytelniające dla strony internetowej. Krotki są również używane jako klucze do słownika, ponieważ można mieszać tylko niezmienne wartości. Dlatego w takich przypadkach nie możemy korzystać z listy. Jeśli nadal chcemy używać listy jako klucza, musimy najpierw przekonwertować listę na krotkę.

Z drugiej strony możemy użyć listy, gdy chcemy zmodyfikować wartości podane w kolekcji, a także, gdy nie wiemy, czy rozmiar naszej kolekcji jest stały.

Tabela porównawcza Python Tuples vs Lists

Poniżej znajduje się najwyższe porównanie krotek Python vs. Listy

cechy Listy

Krotki

SkładniaListy są zdefiniowane w nawiasach kwadratowych ().Krotki są zdefiniowane przez nawiasy () lub brak nawiasów.
Zmienny vs NiezmiennyLista ma charakter zmienny, tzn. Może zostać zmieniona lub zmieniona po jej utworzeniu.Krotka ma niezmienny charakter, tzn. Nie można jej zmienić ani zmienić po jej utworzeniu.

Dostępne operacjeWbudowane funkcje na liście są bardziej porównywane z funkcjami w krotce, np. Pop (), insert () itp.Tuple ma mniej wbudowanych funkcji.
Porównanie rozmiarówOperacje na listach są większe w porównaniu do operacji krotkowych.Operacje krotkowe mają mniejszy rozmiar, co sprawia, że ​​jest szybszy z wieloma elementami.

DługośćListy mają zmienną długość.

Krotki mają ustalone długości. Nie możemy zmienić rozmiaru istniejącej krotki.
DwulicowośćListy można skopiowaćKrotki nie mogą być kopiowane.

Wniosek

To wszystko dotyczy Python Tuples vs Lists. Teraz, gdy zrozumieliśmy różnice między krotkami i listami w Pythonie, łatwiej będzie nam zdecydować, które z nich należy użyć i gdzie. Dlatego możemy stwierdzić, że chociaż zarówno listy, jak i krotki są ważnymi strukturami danych w Pythonie, istnieją między nimi znaczące różnice, przy czym główna różnica polega na tym, że listy są zmienne, a krotki nie.

Polecany artykuł

To był przewodnik po różnicy między pytle Tuple a listą. Tutaj omawiamy także kluczowe różnice w python Tuple vs List z infografikami i tabelą porównawczą. Możesz także przejrzeć następujące artykuły, aby dowiedzieć się więcej-

  1. Agile vs Waterfall - Najważniejsze różnice
  2. Digital Ocean vs AWS
  3. Testy dymu a testy zdrowia psychicznego
  4. Jak zainstalować Python
  5. Typy kompilatorów Python
  6. Różne operacje związane z krotkami
  7. Zrozumienie listy Python
  8. Co to jest Testowanie poczytalności i jak to działa?