Wie Arrays und Listen in Python funktionieren

Wie Arrays und Listen in Python funktionieren

Arrays und Listen gehören zu den nützlichsten Datenstrukturen in der Programmierung – obwohl nur wenige Leute sie wirklich voll ausschöpfen. Heute werde ich Ihnen die Grundlagen erklären, zusammen mit einigen einfachen Python-Beispielen.





Voraussetzungen

Es gibt nicht viel, was Sie im Voraus wissen müssen, um diese Konzepte zu erlernen. Grundkenntnisse in Programmierparadigmen und Python sind hilfreich, aber nicht erforderlich. Lesen Sie unsere grundlegende Python-Beispiele wenn Sie nicht wissen, wo Sie anfangen sollen. Wenn Sie der Meinung sind, dass Python eine nutzlose Sprache ist, lesen Sie unsere Gründe, warum dies nicht der Fall ist .





Während die folgenden grundlegenden Ideen auf jede Sprache angewendet werden können, werde ich die Beispiele in Python demonstrieren. Es ist eine leicht zu erlernende Sprache und bietet eine hervorragende Plattform, um zu verstehen, was vor sich geht. Außerdem, Tutorialspoint.com bietet einen hervorragenden Online-Python-Interpreter – Sie müssen Python nicht einmal installieren, wenn Sie dies nicht möchten (wenn Sie dies tun, lesen Sie unseren Leitfaden zu virtuellen Umgebungen).





Datenstrukturen

Was ist ein Datenstruktur ? Auf der grundlegendsten Ebene ist eine Datenstruktur eine Möglichkeit, Daten effizient zu speichern. Es ist leicht zu verwirren, weil Datenstrukturen nicht Datentypen . Datentypen teilen dem Compiler (oder im Fall von Python dem Interpreter) mit, wie die Daten verwendet werden sollen. Datenstrukturen spezifizieren Operationen, die ausgeführt werden können, und implementieren oft spezifische Regeln und Vorschriften.

Sie haben vielleicht schon von einigen gehört linear Datentypen (Elemente sind sequentiell):



  • Array
  • Matrix
  • Nachschlagwerk

Ähnlich, Listen enthalten oft Regeln und Methoden, um zu regulieren, wie sie funktionieren. Einige gängige Listen sind:

  • Verknüpfte Liste
  • Doppelt verknüpfte Liste
  • Array-Liste oder dynamisches Array

Es gibt eine Vielzahl unterschiedlicher Datenstrukturen. Sie haben vielleicht schon davon gehört binäre Bäume , Grafiken , oder hashes . Ich werde heute die Grundlagen besprechen, aber Sie möchten vielleicht mehr erfahren, sobald Sie sich wohl fühlen.





Array

Fangen wir am Anfang an. Ein Array ist eine einfache Sammlung von (verwandten) Werten. Diese Werte werden Elemente genannt. Sie können normalerweise jeden beliebigen Datentyp haben, einschließlich Objekten oder anderen Listen! Die wichtigste Einschränkung bei Arrays ist, dass alle Daten gleich sein müssen – Sie können keine gemischten Strings und Integer speichern. Du fast müssen Sie immer angeben, wie viele Elemente Sie speichern möchten. Variable Größe oder dynamische Arrays existieren, aber Arrays mit fester Länge sind am Anfang einfacher.

Python verkompliziert die Dinge etwas. Es macht es Ihnen sehr leicht, hält sich aber nicht immer an strenge Definitionen von Datenstrukturen. Die meisten Objekte in Python sind normalerweise Listen, daher ist das Erstellen eines Arrays tatsächlich mehr Arbeit. Hier ist ein Startercode:





from array import array
numbers = array('i', [2, 4, 6, 8])
print(numbers[0])

Die erste Zeile importiert die Array module -- das ist erforderlich, um mit Arrays zu arbeiten. Die zweite Zeile erstellt ein neues Array namens Zahlen und initialisiert es mit den Werten 2, 4, 6 und 8. Jedem Element wird ein . zugewiesen ganze Zahl Wert namens a Schlüssel oder Index . Schlüssel beginnen bei Null , so zahlen[0] greift auf das erste Element zu ( 2 ):

Sie fragen sich vielleicht, was die 'ich' wird für verwendet. Das ist ein Typschlüssel Das teilt Python mit, dass das Array ganze Zahlen speichert. So etwas würde normalerweise in Python nicht benötigt (es würde als 'unpythonisch' angesehen). Der Grund dafür ist einfach. Arrays in Python sind ein sehr dünner Wrapper für die zugrunde liegenden C-Arrays Ihres Betriebssystems. Dies bedeutet, dass sie schnell und stabil sind, aber möglicherweise nicht immer der Python-Syntax entsprechen.

coole Sachen mit Zwietracht

Sie können in diesen Arrays keine gemischten Typen speichern. Angenommen, Sie möchten die Zeichenfolge 'makeuseof.com' speichern:

numbers = array('i', [2, 4, 6, 'makeuseof.com'])

Dies ist nicht zulässig und löst eine Ausnahme aus:

So können Sie alle Elemente drucken:

print(numbers)

Diese Methode für den Zugriff auf Array-Elemente funktioniert gut und ist perfekt für die richtige Aufgabe. Wofür es nicht gut ist, ist der Zugriff auf das gesamte Array. Programmierer sind von Natur aus faul, daher schreibe ich gerne mehr, besseren Code, wenn ich dadurch die Wartung vereinfachen und den Aufwand für Kopieren und Einfügen reduzieren kann.

Jede Programmiersprache implementiert eine Art Schleife, die sich perfekt zum Iterieren (Schleifen) über Listenelemente eignet. Die gängigsten Schleifen sind während und zum . Python macht die Sache noch einfacher, indem es a für in Schleife:

for number in numbers:
print(number)

Beachten Sie, dass Sie nicht über ihren Schlüssel auf Elemente zugreifen mussten. Dies ist eine viel bessere Art, mit einem Array zu arbeiten. Eine alternative Möglichkeit, eine Liste zu durchlaufen, ist mit a zum Schleife:

for i in range(len(numbers)):
print(numbers[i])

Dies macht genau dasselbe wie im vorherigen Beispiel, obwohl Sie die Anzahl der Elemente im Array angeben mussten ( len (Autos) ), zusammen mit dem Passieren ich als Schlüssel zum Array. Das ist fast genau der Code, der für in Schleifen laufen. Dieser Weg bietet etwas mehr Flexibilität und ist etwas schneller (obwohl für in Loops sind mehr als schnell genug mehrheitlich der ganzen Zeit.)

Listen

Da Sie nun wissen, wie Arrays funktionieren, schauen wir uns eine Liste an. Es kann manchmal verwirrend sein, da die Leute unterschiedliche Terminologien austauschbar verwenden und Listen sind Arrays ... irgendwie.

Eine Liste ist eine spezielle Art von Array. Der größte Unterschied besteht darin, dass Listen enthalten können gemischt Typen (denken Sie daran, Arrays müssen Elemente des gleichen Typs enthalten). Listen sind in Python sehr einfach:

Festplattennutzung immer bei 100 Windows 10
cars = ['Ford', 'Austin', 'Lancia']

Beachten Sie, dass Sie die nicht importieren müssen Array Modul?

Diese Syntax deklariert eine Liste namens Autos. Innerhalb der eckigen Klammern wird jedes Element der Liste deklariert. Jedes Element wird durch ein Komma getrennt, und da jedes Element ein String ist, deklarieren Sie es in Anführungszeichen. Python weiß, dass dies ein Objekt ist, also drucken -Anweisung gibt den Inhalt der Liste aus:

print(cars)

Genau wie beim Array können Sie Listenelemente mithilfe von Schleifen iterieren:

for car in cars:
print(car)

Der wahre Partytrick von Listen ist ihr gemischter Typ. Fahren Sie fort und fügen Sie einige zusätzliche Daten hinzu:

cars = ['Ford', 'Austin', 'Lancia', 1, 0.56]

Für Python ist das kein Problem – es hat nicht einmal eine Ausnahme ausgelöst:

Es ist einfach, einer Liste neue Elemente hinzuzufügen (was bei Arrays nicht möglich ist):

cars = ['Ford', 'Austin']
print(cars)
cars.append('Lancia')
print(cars)

Sie können auch zwei Listen zu einer zusammenführen:

cars = ['Ford', 'Austin']
print(cars)
other_cars = ['Lotus', 'Lancia']
cars.extend(other_cars)
print(cars)

Genauso einfach entfernen Sie Elemente mit dem Löschen Syntax:

cars = ['Ford', 'Austin', 'Lotus', 'Lancia']
print(cars)
cars.remove('Ford')
print(cars)

Das deckt ungefähr die Grundlagen von Listen und Arrays in Python ab. Warum ziehen Sie nicht ein Codierungsprojekt in Betracht, z. B. das Lesen und Schreiben in Google Tabellen , das Lesen von Json-Daten . Vielleicht könnten Sie Ihre neuen Fähigkeiten einsetzen, um etwas zu machen benutzerdefinierte Tastenkombinationen . Obwohl es sich um eine andere Programmiersprache handelt, gelten diese Array-Prinzipien immer noch.

Teilen Teilen Tweet Email 5 Tipps zum Aufladen Ihrer VirtualBox-Linux-Maschinen

Haben Sie genug von der schlechten Leistung virtueller Maschinen? Hier ist, was Sie tun sollten, um Ihre VirtualBox-Leistung zu steigern.

Weiter lesen
Verwandte Themen
  • Programmierung
  • Programmierung
  • Python
Über den Autor Joe Coburn(136 veröffentlichte Artikel)

Joe hat einen Abschluss in Informatik an der University of Lincoln, Großbritannien. Er ist ein professioneller Softwareentwickler und wenn er nicht gerade Drohnen fliegt oder Musik schreibt, ist er oft beim Fotografieren oder Videoproduzieren anzutreffen.

Mehr von Joe Coburn

Abonniere unseren Newsletter

Abonnieren Sie unseren Newsletter für technische Tipps, Rezensionen, kostenlose E-Books und exklusive Angebote!

Klicken Sie hier, um sich zu abonnieren