Die Datenstruktur ist ein Werkzeug zum Organisieren von Daten. Nicht nur zur Aufbewahrung, sondern auch zur Lösung einiger Probleme. Es gibt einige Datenstrukturen in Python, darunter Liste, Wörterbuch, Tupel und Menge.
Eine Liste ist eine Datenstruktur, die ein Element mithilfe von Indizes sequentiell speichert. Dies ist die Darstellung der Listendatenstruktur.
Es gibt viele Möglichkeiten, eine Liste in Python zu erstellen.
items = [1,2,3,4]
items = []
Auf das Element in der Liste kann direkt über den Index zugegriffen werden.
items = [1,2,3,4,5] # access item at index 2 result = items[2] print(result) # returns 3
Alle Elemente in der Liste können mit der for-Schleife abgerufen werden. Dies ist ein Beispiel.
# create a new list items = [1,2,3,4,5] # retrieve each item inside a list for item in items: print(item)
Ausgabe
1 2 3 4 5
Basierend auf dem obigen Code wird die Liste mit dem Namen „Artikel“ mit zugewiesenen Artikeln erstellt. Jedes Element wird mithilfe der for-Schleife abgerufen.
Die append()-Funktion fügt einer Liste ein neues Element hinzu. Dies ist ein Beispiel für die Verwendung von append().
# create empty list shopping_list = [] # add some items shopping_list.append("apple") shopping_list.append("milk") shopping_list.append("cereal") # retrieve all items for item in shopping_list: print(item)
Ausgabe
apple milk cereal
Append() ist im Bild unten dargestellt.
Neben der Funktion append() fügt die Funktion insert() ein neues Element in einem bestimmten Index hinzu. Dies ist ein Beispiel.
items = ["apple","banana","mango","coffee"] # add new item at index 1 items.insert(1,"cereal") # retrieve all items for item in items: print(item)
Ausgabe
apple cereal banana mango coffee
Das insert() ist im Bild unten dargestellt.
Das Aktualisieren eines Elements in einer Liste ist unkompliziert. Geben Sie einfach den Index des Elements an und ändern Sie ihn dann durch das aktualisierte Element.
# create a list drinks = ["milkshake","black tea","banana milk","mango juice"] # update value at index 2 drinks[2] = "chocolate milk" print(f"value at index 2: {drinks[2]}")
Ausgabe
value at index 2: chocolate milk
Die Funktion „remove()“ entfernt ein Element aus der Liste. Dies ist ein Beispiel.
items = ["apple","banana","mango","coffee"] # remove "mango" items.remove("mango") # remove item at index 1 items.remove(items[1]) print("after removed") for item in items: print(item)
Ausgabe
after removed apple coffee
Die Elemente in einer Liste können durch Angabe des Startindex und Endindex der Liste ausgewählt werden. Dies ist die Grundstruktur zum Auswählen von Elementen in einer Liste.
list_name[start:end]
Die Elemente werden vom Startindex bis zum Endindex, jedoch nicht einschließlich, ausgewählt. Dies ist ein Beispiel für die Auswahl von Elementen in einer Liste.
items = ["apple","mango","papaya","coconut","banana"] # select items from index 1 up to but not including index 3 selected = items[1:3] # show all items print(f"all items: {items}") # show the selected items print(f"selected: {selected}")
Ausgabe
all items: ['apple', 'mango', 'papaya', 'coconut', 'banana'] selected: ['mango', 'papaya']
Listenverständnis ist eine „funktionale“ Möglichkeit, eine Liste zu erstellen. Um das Listenverständnis zu verstehen, werfen wir einen Blick auf ein Beispiel für die Erstellung einer Liste, die gerade Werte enthält, mithilfe eines iterativen Ansatzes.
evens = [] for i in range(1,11): evens.append(i*2) print(evens)
Ausgabe
items = [1,2,3,4]
Basierend auf dem obigen Code werden die geraden Zahlen mithilfe des iterativen Ansatzes mit einer for-Schleife generiert. Das obige Beispiel kann auch mithilfe des Listenverständnisses erreicht werden. Dies ist ein Beispiel für die Generierung gerader Zahlen mithilfe des Listenverständnisses.
items = []
Ausgabe
items = [1,2,3,4,5] # access item at index 2 result = items[2] print(result) # returns 3
Basierend auf dem obigen Code liefert der Listenverständnisansatz prägnanteren Code und das gleiche Ergebnis wie der vorherige iterative Ansatz.
Das Listenverständnis kann zusammen mit der If-Verzweigung verwendet werden. In diesem Beispiel wird das Listenverständnis verwendet, um bestimmte Werte basierend auf der spezifischen Bedingung zu filtern.
# create a new list items = [1,2,3,4,5] # retrieve each item inside a list for item in items: print(item)
Ausgabe
1 2 3 4 5
Dies ist die iterative Version des vorherigen Beispiels.
# create empty list shopping_list = [] # add some items shopping_list.append("apple") shopping_list.append("milk") shopping_list.append("cereal") # retrieve all items for item in shopping_list: print(item)
Die Liste kann in einem mehrdimensionalen Ansatz wie einer Matrix gespeichert werden. Dies ist ein Beispiel für die Deklaration einer mehrdimensionalen Liste zum Speichern einer Zahlenmatrix.
apple milk cereal
Auf das Element kann mit doppelten eckigen Klammern ([x][y]) zugegriffen werden, indem das x angegeben wird, das den Index der Hauptliste darstellt, während y den Index des Elements innerhalb der verschachtelten Liste darstellt. Dies ist die Illustration der Zahlenmatrix.
Die Elemente in der mehrdimensionalen Liste können mithilfe einer verschachtelten for-Schleife abgerufen werden.
items = ["apple","banana","mango","coffee"] # add new item at index 1 items.insert(1,"cereal") # retrieve all items for item in items: print(item)
Ausgabe
apple cereal banana mango coffee
Das Wörterbuch ist eine Datenstruktur, die Datensätze als Schlüssel-Wert-Paare speichert. Jeder Schlüssel muss eindeutig sein, doppelte Werte sind jedoch zulässig. Dies veranschaulicht die Datenstruktur des Wörterbuchs:
Es gibt viele Möglichkeiten, ein Wörterbuch zu erstellen:
# create a list drinks = ["milkshake","black tea","banana milk","mango juice"] # update value at index 2 drinks[2] = "chocolate milk" print(f"value at index 2: {drinks[2]}")
value at index 2: chocolate milk
Alle Datensätze im Wörterbuch können mit der for-Schleife abgerufen werden. Dies ist ein Beispiel.
items = ["apple","banana","mango","coffee"] # remove "mango" items.remove("mango") # remove item at index 1 items.remove(items[1]) print("after removed") for item in items: print(item)
Ausgabe
after removed apple coffee
Um ein neues Element in ein Wörterbuch einzufügen, geben Sie das Schlüssel-Wert-Paar des Elements an. Stellen Sie sicher, dass der Schlüssel eindeutig ist.
list_name[start:end]
Dies ist ein Beispiel für das Einfügen eines neuen Elements in das Wörterbuch.
items = ["apple","mango","papaya","coconut","banana"] # select items from index 1 up to but not including index 3 selected = items[1:3] # show all items print(f"all items: {items}") # show the selected items print(f"selected: {selected}")
Ausgabe
all items: ['apple', 'mango', 'papaya', 'coconut', 'banana'] selected: ['mango', 'papaya']
Um ein Element im Wörterbuch zu aktualisieren, geben Sie den Schlüssel des Elements an und fügen Sie dann den aktualisierten Wert ein.
evens = [] for i in range(1,11): evens.append(i*2) print(evens)
Ausgabe
[2, 4, 6, 8, 10, 12, 14, 16, 18, 20]
Auf die Schlüssel und Werte im Wörterbuch kann unabhängig voneinander mit verschiedenen Methoden zugegriffen werden.
evens = [x*2 for x in range(1,11)] # using list comprehension print(evens)
Ausgabe
items = [1,2,3,4]
Die Methode pop() entfernt das Element basierend auf dem angegebenen Schlüssel aus dem Wörterbuch.
items = []
Ausgabe
items = [1,2,3,4,5] # access item at index 2 result = items[2] print(result) # returns 3
Die Methode clear() entfernt alle Elemente im Wörterbuch.
# create a new list items = [1,2,3,4,5] # retrieve each item inside a list for item in items: print(item)
Ausgabe
1 2 3 4 5
Das Tupel ist eine unveränderliche Datenstruktur zum Speichern vieler Werte. Das Tupel kann veränderliche Werte enthalten. Es gibt zwei Möglichkeiten, ein neues Tupel zu erstellen.
# create empty list shopping_list = [] # add some items shopping_list.append("apple") shopping_list.append("milk") shopping_list.append("cereal") # retrieve all items for item in shopping_list: print(item)
Ausgabe
apple milk cereal
items = ["apple","banana","mango","coffee"] # add new item at index 1 items.insert(1,"cereal") # retrieve all items for item in items: print(item)
Ein Tupel ist unveränderlich, was bedeutet, dass seine Werte nach seiner Erstellung nicht mehr geändert oder aktualisiert werden können.
apple cereal banana mango coffee
Die Werte aus dem Tupel können mithilfe von „Tupel-Entpacken“ abgerufen werden (dieses Konzept ähnelt der Objektdestrukturierung in JavaScript).
Beim Entpacken muss die Größe der entpackten Werte der Größe des Tupels entsprechen.
# create a list drinks = ["milkshake","black tea","banana milk","mango juice"] # update value at index 2 drinks[2] = "chocolate milk" print(f"value at index 2: {drinks[2]}")
Ausgabe
value at index 2: chocolate milk
Ein Set ist eine ungeordnete Datenstruktur, die nur eindeutige Elemente enthält. Es gibt viele Möglichkeiten, ein Set zu erstellen.
items = ["apple","banana","mango","coffee"] # remove "mango" items.remove("mango") # remove item at index 1 items.remove(items[1]) print("after removed") for item in items: print(item)
Die leere Menge kann mit der Funktion set() erstellt werden.
after removed apple coffee
Die festgelegte Datenstruktur entfernt doppelte Werte automatisch.
list_name[start:end]
Ausgabe
items = ["apple","mango","papaya","coconut","banana"] # select items from index 1 up to but not including index 3 selected = items[1:3] # show all items print(f"all items: {items}") # show the selected items print(f"selected: {selected}")
Auf die Werte innerhalb der Menge kann mit der for-Schleife zugegriffen werden.
all items: ['apple', 'mango', 'papaya', 'coconut', 'banana'] selected: ['mango', 'papaya']
Ausgabe
evens = [] for i in range(1,11): evens.append(i*2) print(evens)
Die festgelegte Datenstruktur bietet viele Operationen wie Vereinigung, Schnittmenge, Differenz und symmetrische Differenz.
Die Vereinigungsoperation gibt alle Elemente in beiden Mengen zurück.
[2, 4, 6, 8, 10, 12, 14, 16, 18, 20]
Ausgabe
evens = [x*2 for x in range(1,11)] # using list comprehension print(evens)
Die Schnittoperation gibt alle Elemente zurück, die in der Schnittmenge der Mengen vorhanden sind.
[2, 4, 6, 8, 10, 12, 14, 16, 18, 20]
Ausgabe
samples = [12,32,55,10,2,57,66] result = [s for s in samples if s % 4 == 0] # using list comprehension print(result)
Die Differenzoperation gibt alle Elemente zurück, die nur in einer bestimmten Menge vorhanden sind.
[12, 32]
Ausgabe
samples = [12,32,55,10,2,57,66] result = [] for s in samples: if s % 4 == 0: result.append(s) print(result)
Die symmetrische Differenzoperation gibt alle Elemente zurück, die in einer der Mengen, aber nicht in der Schnittmenge vorhanden sind.
matrix = [ [1,2,3], [4,5,6], [7,8,9], ]
Ausgabe
items = [1,2,3,4]
Die Funktion ist eine aufrufbare Einheit mit Anweisungen, die darauf abzielen, die Codeduplizierung zu reduzieren und komplexe Aufgaben zu organisieren. Es gibt zwei Arten: Void-Funktionen (kein Rückgabewert) und solche, die einen Wert zurückgeben.
Dies ist die Grundstruktur der Funktion in Python.
items = []
Dies ist das Beispiel einer Void-Funktion (kein Rückgabewert) in Python.
items = [1,2,3,4,5] # access item at index 2 result = items[2] print(result) # returns 3
Ausgabe
# create a new list items = [1,2,3,4,5] # retrieve each item inside a list for item in items: print(item)
Basierend auf dem obigen Code wird die Funktion hello() erstellt. Die Funktion wird aufgerufen, indem der Funktionsname gefolgt von Klammern () angegeben wird.
Dies ist das Beispiel einer Funktion mit Rückgabewert.
1 2 3 4 5
Ausgabe
# create empty list shopping_list = [] # add some items shopping_list.append("apple") shopping_list.append("milk") shopping_list.append("cereal") # retrieve all items for item in shopping_list: print(item)
Basierend auf dem obigen Code wird die Funktion add() erstellt, um zwei Zahlen zu summieren. Der Rückgabewert der Funktion add() wird in der Ergebnisvariablen gespeichert.
Stellen Sie beim Arbeiten mit der Rückgabewertfunktion sicher, dass der zurückgegebene Wert verwendet wird.
Das Thema Funktionen in Python wird in einem separaten Kapitel ausführlich erläutert.
Lassen Sie uns eine einfache ToDo-Listen-Anwendung erstellen. Diese Anwendung verwendet Listen als Speicher für Aufgaben und nutzt Funktionen für einen saubereren Code.
Der erste Schritt besteht darin, das UUID-Paket zu importieren und eine Liste namens Todos zum Speichern von Todo-Datensätzen zu erstellen. Das UUID-Paket wird als Kennung (ID) für den Todo-Datensatz verwendet.
apple milk cereal
Danach erstellen Sie eine view_todos()-Funktion, um alle Aufgabendatensätze abzurufen. Alle Aufgabendatensätze werden mithilfe einer for-Schleife abgerufen.
items = ["apple","banana","mango","coffee"] # add new item at index 1 items.insert(1,"cereal") # retrieve all items for item in items: print(item)
Erstellen Sie eine view_todo()-Funktion, um den Aufgabendatensatz anhand der angegebenen ID abzurufen. Jeder Todo-Datensatz wird innerhalb der for-Schleife überprüft, um zu prüfen, ob die aktuelle Todo-ID mit der angegebenen ID übereinstimmt. Bei Übereinstimmung wird der Todo-Datensatz angezeigt.
apple cereal banana mango coffee
Erstellen Sie eine Funktion create_todo(), um eine neue Aufgabe zu erstellen. Der Todo-Datensatz wird als Wörterbuch mit ID- und Titelfeld dargestellt.
# create a list drinks = ["milkshake","black tea","banana milk","mango juice"] # update value at index 2 drinks[2] = "chocolate milk" print(f"value at index 2: {drinks[2]}")
Erstellen Sie eine update_todo()-Funktion, um eine Aufgabe zu aktualisieren. In dieser Funktion wird der Todo-Datensatz anhand der angegebenen ID aktualisiert.
value at index 2: chocolate milk
Erstellen Sie eine delete_todo()-Funktion, um eine Aufgabe zu löschen. In dieser Funktion wird der Todo-Datensatz anhand der angegebenen ID gelöscht.
items = ["apple","banana","mango","coffee"] # remove "mango" items.remove("mango") # remove item at index 1 items.remove(items[1]) print("after removed") for item in items: print(item)
Schließlich erstellen Sie eine Funktion namens display_menu(), um das Hauptmenü der Anwendung anzuzeigen.
after removed apple coffee
Dies ist der vollständige Code.
list_name[start:end]
Dies ist die Ausgabe der Anwendung.
Ich hoffe, dieser Artikel hilft Ihnen beim Erlernen von Python. Wenn Sie Feedback haben, teilen Sie mir dies bitte im Kommentarbereich mit.
Das obige ist der detaillierte Inhalt vonPython-Tutorial – ata-Struktur. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!