Kilka dni wstecz pracowałem nad projektem w Pythonie i musiałem zrobić użytek z list. Stworzyłem pustą listę i nazwałem jącost_array
. Przyjaciel zobaczył to i zadał pytanie:
„Jaka jest różnica między Listą a Tablicą?”
Zacząłem się zastanawiać, ponieważ do tej pory zawsze uważałem dane typu za listy w Pythonie i tablice w Javascript. Najwyraźniej Array jest typem danych również w Pythonie, czyli mamy typ
array
i typ list
(typ listy jest bardziej popularny). Większość ludzi korzysta z tablic, gdy zapuszcza się w Data Science i korzysta z bibliotek takich jak numpy
. Tablice są prawdziwym koniem roboczym struktur danych dla zastosowań naukowych i inżynieryjnych. Najpopularniejszym typem tablicy używanym w Pythonie jest tablica numpy
.
- Obydwie służą do przechowywania danych
- Obydwie są mutowalne
- Obydwie mogą być indeksowane i iterowane przez
- Obydwie mogą być krojone
Różnice
Główną różnicą między tymi dwoma typami danych jest operacja, jaką można na nich wykonać. Tablice są specjalnie zoptymalizowane do obliczeń arytmetycznych, więc jeśli zamierzasz wykonywać podobne operacje, powinieneś rozważyć użycie tablicy zamiast listy.
Również listy są kontenerami dla elementów mających różne typy danych, ale tablice są używane jako kontenery dla elementów tego samego typu danych.
Przykład poniżej jest wynikiem dzielenia tablicy przez pewną liczbę i robienia tego samego dla listy. Kiedy spróbujemy wykonać tę samą operację (przykład: dzielenie) na liście, otrzymamy błąd typu TypeError, ponieważ wbudowane listy Pythona nie obsługują protokołu `__div__`. Wykonanie tego obliczenia na liście wymaga dodatkowego kroku, ponieważ wtedy trzeba by zapętlić każdy element po kolei i zapisać na innej liście.
Stres!!!