Pár napja egy Python-projekten dolgoztam, és listákat kellett használnom. Létrehoztam egy üres listát, és elneveztem cost_array
-nak. Egy barátom meglátta ezt, és feltette a kérdést:
“Mi a különbség egy lista és egy tömb között?”
Megkezdtem töprengeni, mert eddig mindig úgy tekintettem a típusú adatokat, mint listákat Pythonban és tömböket Javascriptben. Úgy tűnik, az Array Pythonban is egy adattípus, vagyis van
array
típus és list
típus (a lista típus a népszerűbb). A legtöbb ember akkor kerül kapcsolatba a tömbökkel, amikor az adattudományba merészkedik, és olyan könyvtárakat használ, mint a numpy
. A tömbök a tudományos és mérnöki alkalmazások adatszerkezeteinek igazi munkagépei. A Pythonban használt legnépszerűbb tömbtípus a numpy
tömb.
- Mindkettő adatok tárolására szolgál
- Mindkettő változtatható
- Mindkettő indexelhető és iterálható
- Mindkettő szeletelhető
Különbségek
A két adattípus közötti fő különbség a rajtuk végezhető műveletekben van. A tömbök kifejezetten aritmetikai számításokra vannak optimalizálva, ezért ha hasonló műveleteket akarunk végezni, érdemes tömböt használni lista helyett.
A listák emellett különböző adattípusú elemek tárolására szolgálnak, míg a tömböket azonos adattípusú elemek tárolására használjuk.
Az alábbi példa egy tömb egy bizonyos számmal való osztásának eredménye, míg ugyanezt egy listával végezzük el. Ha ugyanezt a műveletet (példa: osztás) egy listán próbáljuk meg, TypeError-t kapunk, mert a beépített python listák nem támogatják a `__div__` protokollt. Egy listán elvégezni ezt a számítást egy plusz lépést igényel, mert akkor minden egyes elemet egymás után végig kellene hurkolni, és egy másik listába menteni.
Stressz!!!