Bolaji
Bolaji

Follow

May 6, 2018 – 3 min read

Vor einigen Tagen arbeitete ich an einem Python-Projekt und musste mit Listen arbeiten. Ich erstellte eine leere Liste und nannte siecost_array. Ein Freund sah das und stellte die Frage:

„Was ist der Unterschied zwischen einer Liste und einem Array?“

Ich begann zu grübeln, denn bisher habe ich Daten vom Typ in Python immer als Listen und in Javascript als Arrays betrachtet. Anscheinend ist ein Array auch in Python ein Datentyp, d.h. es gibt den Typ array und den Typ list (wobei der Typ Liste beliebter ist). Die meisten Leute kommen mit Arrays in Berührung, wenn sie sich in die Datenwissenschaft wagen und Bibliotheken wie numpy nutzen. Arrays sind das wahre Arbeitspferd unter den Datenstrukturen für wissenschaftliche und technische Anwendungen. Der beliebteste Array-Typ, der in Python verwendet wird, ist das numpy Array.

  • Beide werden zum Speichern von Daten verwendet
  • Beide sind veränderbar
  • Beide können indiziert und durch iteriert werden
  • Beide können zerlegt werden

Unterschiede

Der Hauptunterschied zwischen diesen beiden Datentypen ist die Operation, die man mit ihnen durchführen kann. Arrays sind speziell für arithmetische Berechnungen optimiert. Wenn Sie also ähnliche Operationen durchführen wollen, sollten Sie ein Array anstelle einer Liste verwenden.

Auch Listen sind Container für Elemente mit unterschiedlichen Datentypen, während Arrays als Container für Elemente desselben Datentyps verwendet werden.

Das folgende Beispiel zeigt das Ergebnis der Division eines Arrays durch eine bestimmte Zahl und das gleiche Ergebnis für eine Liste. Wenn wir die gleiche Operation (Beispiel: Division) an einer Liste versuchen, erhalten wir einen TypeError, weil die eingebauten Python-Listen das `__div__`-Protokoll nicht unterstützen. Es ist ein zusätzlicher Schritt nötig, um diese Berechnung für eine Liste durchzuführen, weil man dann eine Schleife über jedes Element nach dem anderen machen und in einer anderen Liste speichern müsste.

Stress!!!

Articles

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.