Lista a krotka: różnica między listą a krotką
Opublikowany: 2021-01-08W Pythonie lista i krotka to klasa struktury danych, która może przechowywać jeden lub więcej obiektów lub wartości. Lista służy do przechowywania wielu elementów w jednej zmiennej i można ją utworzyć za pomocą nawiasów kwadratowych. Podobnie krotki mogą również przechowywać wiele elementów w jednej zmiennej i mogą być deklarowane przy użyciu nawiasów.
Chociaż istnieje wiele różnic między listą a krotką, istnieją również pewne podobieństwa, takie jak:
- Obie struktury danych są typami danych sekwencyjnych, które przechowują kolekcje elementów.
- Można w nich przechowywać elementy dowolnego typu danych.
- Dostęp do pozycji można uzyskać za pomocą ich indeksu.
Spis treści
Lista a krotka
Poniższa tabela zawiera podstawową różnicę między listą a krotką w Pythonie.
Lista | Krotka |
Jest zmienny | To jest niezmienne |
Implikacje iteracji na liście są czasochłonne. | Implikacje iteracji są w krotkach znacznie szybsze. |
Operacje takie jak wstawianie i usuwanie są lepiej wykonywane. | Do elementów można uzyskać lepszy dostęp. |
Zużywa więcej pamięci. | Zużywa mniej pamięci. |
Dostępnych jest wiele wbudowanych metod. | Nie ma wielu wbudowanych metod. |
Na listach mogą łatwo wystąpić nieoczekiwane błędy i zmiany. | W krotkach rzadko pojawiają się nieoczekiwane błędy i zmiany. |
Poniższe sekcje zawierają szczegółową wersję listy i krotki w celu lepszego zrozumienia.
Różnica w składni
Jak wspomniano we wstępie, składnia list i krotek jest inna. Na przykład:
numer_listy = [10, 20, 30, 40]
tup_num = (10, 20, 30, 40)
Zmienność
Jedną z najważniejszych różnic między listą a krotką jest to, że lista jest zmienna, podczas gdy krotka jest niezmienna. Oznacza to, że listy można zmieniać, a krotek nie można zmieniać.
Tak więc niektóre operacje mogą działać na listach, ale nie na krotkach. Na przykład w nauce o danych, jeśli lista już istnieje, poszczególne jej elementy można przypisać ponownie. Wraz z tym cała lista może zostać ponownie przypisana. Elementy i plasterki elementów można usuwać z listy.
Z drugiej strony, poszczególnych elementów w krotce nie można ponownie przypisać ani usunąć, ale można je pokroić, a nawet ponownie przypisać i usunąć całą krotkę. Ponieważ krotki są niezmienne, nie można ich skopiować.
Sprawdź: Python vs Java
Operacje
Chociaż istnieje wiele operacji podobnych do list i krotek, listy mają dodatkowe funkcje, które nie są dostępne w przypadku krotek. Są to operacje wstawiania i wyskakiwania oraz sortowanie i usuwanie elementów z listy.
Funkcje
Niektóre funkcje Pythona można zastosować do obu struktur danych, takich jak len, max, min, any, sum, all i sorted.
Rozmiar
W Pythonie krotki są przydzielane do dużych bloków pamięci z mniejszym obciążeniem, ponieważ są niezmienne; podczas gdy w przypadku list przydzielane są małe bloki pamięci. Między tymi dwoma krotkami mają mniejszą pamięć. Pomaga to w tworzeniu krotek szybszych niż listy, gdy istnieje duża liczba elementów.
Rodzaj elementów
Elementy należące do różnych typów danych, tj. elementy heterogeniczne, są zwykle przechowywane w krotkach. Podczas gdy elementy jednorodne, elementy tego samego typu danych, są zwykle przechowywane na listach. Ale to nie jest ograniczenie dla struktur danych. Podobne elementy typu danych mogą być przechowywane w krotkach, a różne elementy typu danych mogą być również przechowywane na listach.

Długość
Długości różnią się w dwóch strukturach danych. Krotki mają stałą długość, podczas gdy listy mają zmienną długość. W ten sposób można zmienić rozmiar tworzonych list, ale nie dotyczy to krotek.
Debugowanie
Jeśli chodzi o debugowanie, w listach i krotkach krotki są łatwiejsze do debugowania w przypadku dużych projektów ze względu na ich niezmienność. Jeśli więc istnieje mniejszy projekt lub mniejsza ilość danych, lepiej użyć list. Dzieje się tak, ponieważ listy można zmieniać, a krotki nie, co ułatwia śledzenie krotek.
Listy i krotki zagnieżdżone
Krotki mogą być przechowywane na listach i podobnie listy mogą być przechowywane wewnątrz krotek. W zagnieżdżonych krotkach krotka może pomieścić więcej krotek. W listach zagnieżdżonych lista może zawierać więcej list.
Zastosowania
Ważne jest, aby zrozumieć, że istnieją różne przypadki, w których lepiej jest użyć jednej z tych struktur danych, takich jak; użycie jednego z nich zależy od programisty, tj. wybór jednego na podstawie tego, czy chce później zmienić dane, czy nie.
Krotki mogą być używane jako odpowiedniki słownika bez kluczy do przechowywania danych. Gdy krotki są przechowywane na listach, łatwiej jest odczytać dane.
Przeczytaj: Więcej typów struktur danych w Pythonie
Wniosek
Ten artykuł pomaga zrozumieć różnice między listami i krotkami. Mimo że oba typy są strukturami danych w Pythonie, ważne jest, aby podczas dokonywania wyboru zapoznać się z tymi różnicami. Najważniejszą różnicą, o której należy pamiętać, jest to, że listy są zmienne, a krotki nie, listy mają zmienne rozmiary, a krotki mają stałe rozmiary. Wreszcie, operacje na krotkach mogą być wykonywane szybciej.
Jeśli czytasz ten artykuł, najprawdopodobniej masz ambicje zostać programistą Pythona. Jeśli jesteś zainteresowany nauką Pythona i chcesz pobrudzić sobie ręce różnymi narzędziami i bibliotekami, sprawdź program Executive PG w dziedzinie nauki o danych IIIT-B i upGrad.
Kiedy preferowana jest lista Pythona do przechowywania danych?
Lista Pythona jest uważana za najlepszą strukturę danych do przechowywania danych w następujących scenariuszach: Lista może służyć do przechowywania różnych wartości z różnymi typami danych i można do niej uzyskać dostęp tylko za pomocą ich odpowiednich indeksów. Gdy trzeba wykonać operacje matematyczne na elementach, można użyć listy, ponieważ umożliwia ona matematyczną obsługę elementów bezpośrednio. Ponieważ listę można zmieniać, można jej użyć do przechowywania danych, gdy nie masz pewności co do liczby elementów, które mają być przechowywane.
Podaj różne operacje namedtuple.
namedtuple w Pythonie wykonuje różne operacje. Poniżej znajduje się lista niektórych z najczęstszych operacji wykonywanych przez namedtuple — dostęp według indeksu, dostęp według nazwy klucza, make(), _asadict(), przy użyciu operatora „**” (podwójna gwiazdka), _fileds(), _replace () itp.
Jakie są różne sposoby tworzenia listy?
Listę Pythona można utworzyć na wiele sposobów, o których mowa tutaj. Używanie pętli for — Pętla for jest najbardziej podstawowym sposobem tworzenia listy. Listę można utworzyć za pomocą pętli for na trzy proste sposoby — utworzyć pustą listę, wykonać iterację po wszystkich elementach, które mają zostać wstawione, dodać każdy element listy za pomocą funkcji append(). Używanie map(): Funkcja map() w Pythonie może być używana alternatywnie do tworzenia listy. Ta funkcja przyjmuje dwa parametry - Function: Funkcja, do której mapa przekazuje każdy element iterowany i Iterable: element lub element iterowany do zmapowania. Korzystanie z list składanych: Ta metoda jest najbardziej zoptymalizowaną ze wszystkich trzech metod. Podczas gdy w powyższych metodach najpierw musi zostać utworzona pusta lista, listy składane pozwalają wstawić wszystkie elementy listy za pomocą jednej linii.