Listen sind eine gängige Methode zum Speichern mehrerer Daten in Python. Indem wir eine Liste erstellen, können wir darin viele verschiedene Datentypen übersichtlich speichern. Sie funktionieren wie eine Einkaufsliste. Wir geben der Liste einen Namen und geben dann Elemente unter der Liste ein.
Listen sind eine weitere Datenspeicherstruktur, genau wie Wörterbücher, Tupel und Mengen. Listen sind veränderliche Objekte. Wir können den Inhalt durch Aktualisieren, Löschen und Hinzufügen zu einer Liste ändern. In einer Liste gespeicherte Objekte fallen unter den Oberbegriff „Elemente“ und jedes Element hat eine Position in der Liste, eine Indexnummer. Das erste Objekt in der Liste hat die Indexnummer Null und zählt aufwärts, je mehr Elemente wir erhalten.
Wir werden lernen, wie man Listen erstellt und dann die darin enthaltenen Elemente aktualisiert und löscht. Anschließend wenden wir unser Wissen an, um eine Einkaufslisten-App zu erstellen, die Listen direkt auf unser Mobiltelefon sendet.
Um zu demonstrieren, wie Listen in Python verwendet werden, verwenden wir Thonny, einen kostenlosen, benutzerfreundlichen und plattformübergreifenden Python-Editor.
Bevor Sie beginnen, Thonny installieren falls Sie es noch nicht haben. Besuchen Sie die Website von Thonny Laden Sie die Veröffentlichung herunter für Ihr System. Alternativ können Sie die offizielle Python-Version installieren mit dieser Anleitung. Beachten Sie, dass diese Anleitung die Installation unter Windows 10 und 11 behandelt.
So erstellen Sie eine Liste in Python
Die einfachste Form einer Liste besteht darin, das Listenobjekt zu erstellen und dann darin Elemente zu platzieren.
1. Erstellen Sie in einem neuen leeren Dokument eine Liste mit dem Namen „Einkaufen“ und speichern Sie darin drei Einkaufsartikel. Elemente in einer Liste können Ganzzahlen, Gleitkommazahlen, Zeichenfolgen und sogar eine andere Liste sein. Listen können auch ohne Artikel erstellt werden, Shopping = [] erstellt eine leere Liste, an die wir jedoch Daten anhängen müssen. Auf die Aktualisierung von Listen gehen wir später ein.
shopping = ["Apples","Bananas","Milk"]
2. Drucken Sie den gesamten Inhalt der Liste aus. Hier wird der Inhalt der Liste angezeigt, einschließlich der [ ] Klammern.
print(shopping)
3. Speichern Sie den Code als „shopping.py“ und klicken Sie auf „Ausführen“ >> „Aktuelles Skript ausführen“. Die Ausgabe sieht ungefähr so aus [‘Apples’, ‘Bananas’, ‘Milk’] Dies beweist, dass die Liste funktioniert, wir können sie jedoch verwenden, um Inhalte in Sätzen zu generieren.
4. Fügen Sie eine weitere Druckfunktion hinzu, um zu erkennen, dass wir eine Einkaufsliste drucken.
print("The shopping list contains")
5. Verwendung einer for-Schleife Mit einem Bereich drucken wir jedes Element aus der Liste aus und verwenden dabei die String-Formatierungsmethode von Python, um das Element als String in den Satz einzufügen. Woher kennen wir die Anzahl der Elemente in einer Liste, um einen Bereich zu erstellen? Nun, im Moment spielt es keine Rolle, da die Funktion len() die Länge des Einkaufslistenobjekts berechnet und diesen Wert als Bereich verwendet. Dann durchläuft die for-Schleife die Elemente und aktualisiert den Wert von i bei jedem Schleifendurchlauf.
for i in range(len(shopping)):
print("I need to buy :s".format(shopping[i]))
6. Speichern Sie den Code und klicken Sie auf Ausführen >> Aktuelles Skript ausführen. Wir sehen die vollständige Liste gedruckt, dann wird der Text unserer Einkaufsliste in die Python-Shell gedruckt.
Vollständige Codeauflistung: Erstellen einer Liste
shopping = ["Apples","Bananas","Milk"]
print(shopping)
print("The shopping list contains")
for i in range(len(shopping)):
print("I need to buy :s".format(shopping[i]))
Elemente in einer Liste aktualisieren und löschen
Listen sind veränderliche Objekte. Das bedeutet, dass wir Einträge aus einer Liste erstellen, aktualisieren und löschen können. Auf unserer aktuellen Einkaufsliste stehen Bananen, aber wir haben in die Obstschale geschaut und festgestellt, dass wir zwar jede Menge Bananen, aber keine Weintrauben haben! Tauschen wir also die Bananen gegen Weintrauben.
1. In einer neuen Zeile außerhalb der vorherigen for-Schleife: Drucken Sie eine Nachricht aus, die besagt, dass wir den Inhalt der Einkaufsliste aktualisieren.
print("Shopping list has changed")
2. Ändern Sie „Bananen“ in „Trauben“, indem Sie den Wert für dieses Element in der Liste aktualisieren. Wir wissen, dass „Bananen“ das zweite Element in der Liste ist, da Python von Null an zählt, wissen wir, dass die Position des Elements in der Liste 1 ist.
shopping[1] = "Grapes"
3. Verwendung einer for-Schleife Mit einem Bereich drucken wir jedes Element aus der Liste. Dadurch wird die alte Liste und dann die aktualisierte Liste ausgedruckt.
4. Speichern Sie den Code und führen Sie ihn aus. Die aktualisierte Liste und die vorherige Liste werden in der Python-Shell gedruckt.
Wir öffnen die Kühlschranktür und stellen fest, dass wir Butter, Eier und Käse auf unsere Einkaufsliste setzen müssen. Wir können ein einzelnes Element an das Ende der Liste anhängen oder die Liste erweitern und ihr mehrere Elemente übergeben.
1. Geben Sie in einer neuen Zeile außerhalb der vorherigen for-Schleife eine Nachricht aus, die besagt, dass wir den Inhalt der Einkaufsliste erneut aktualisieren.
print("Shopping list has changed again")
2. Fügen Sie Käse zur Einkaufsliste hinzu. Anhängen fügt das Element am Ende der Liste hinzu.
shopping.append("Cheese")
3. Verwenden Sie „Extend“, um mehrere Artikel zur Einkaufsliste hinzuzufügen. Extend erfordert, dass wir die Elemente, die wir hinzufügen möchten, in Klammern setzen. Diese neuen Elemente können beliebige iterierbare Objekte sein. In diesem Fall habe ich ein Tupel verwendet, um die Elemente aufzunehmen.
shopping.extend(("Butter","Eggs"))
4. Verwendung einer for-Schleife Mit einem Bereich drucken wir jedes Element aus der Liste. Dadurch werden die alten Listen und dann die aktualisierte Liste ausgedruckt.
5. Speichern Sie den Code und führen Sie ihn aus. Die aktualisierte Liste und die vorherigen Listen werden in der Python-Shell gedruckt.
Wir kommen zum Laden und stellen fest, dass wir keine Eier brauchen! Streichen wir sie also von unserer Liste.
1. Geben Sie in einer neuen Zeile außerhalb der vorherigen for-Schleife eine Meldung aus, die besagt, dass wir die Eier entfernen.
print("Removing the eggs")
2. Entfernen Sie die Eier von der Einkaufsliste. Beachten Sie, dass beim Elementwert die Groß-/Kleinschreibung beachtet wird. „Eier“ ist nicht gleich „Eier“.
shopping.remove("Eggs")
3. Verwenden Sie eine bedingte Anweisung, um zu überprüfen, ob Eier nicht mehr auf der Einkaufsliste stehen. Wenn Eier vorhanden sind, werden wir darüber informiert, dass wir vergessen haben, sie zu entfernen. Wenn keine Eier vorhanden sind, wird die Bedingung „else“ aktiviert und ausgegeben, dass sie aus der Liste entfernt wurden.
if "Eggs" in shopping:
print("I forgot to remove the eggs")
else:
print("The eggs have been removed from the list")
4. Speichern Sie den Code und führen Sie ihn aus. Wenn die Eizellen entfernt wurden, wird eine Bestätigung angezeigt. Wenn nicht, wird eine Erinnerung angezeigt.
Vollständige Codeauflistung: Elemente in einer Liste aktualisieren und löschen
print("Shopping list has changed")
shopping[1] = "Grapes"
for i in range(len(shopping)):
print("I need to buy :s".format(shopping[i]))
print("Shopping list has changed again")
shopping.append("Cheese")
shopping.extend(("Butter","Eggs"))
for i in range(len(shopping)):
print("I need to buy :s".format(shopping[i]))
print("Removing the eggs")
shopping.remove("Eggs")
if "Eggs" in shopping:
print("I forgot to remove the eggs")
else:
print("The eggs have been removed from the list")
Verwenden einer For-Schleife mit einer Liste
Früher haben wir eine for-Schleife mit einem Bereich verwendet, um die Artikel in unserer Einkaufsliste anhand ihrer Position (Indexnummer) auszugeben. Es gibt jedoch noch eine andere Möglichkeit: Wir können eine Variable erstellen und mithilfe einer for-Schleife die Elemente in der Einkaufsliste durchlaufen und sie ausdrucken. All dies wird ohne die Notwendigkeit einer Indexnummer erreicht.
1. Geben Sie in einer neuen Zeile eine Nachricht aus, die besagt, dass wir eine for-Schleife verwenden.
print("Using a for loop to print our shopping list")
2. Verwenden Sie eine for-Schleife, um jeden Artikel in der Einkaufsliste zu durchlaufen. Der Wert von „item“ ändert sich jedes Mal, wenn die for-Schleife iteriert. Wenn alle Elemente durchlaufen wurden, endet die for-Schleife.
for item in shopping:
3. Geben Sie die Nachricht mithilfe der Zeichenfolgenformatierung an die Python-Shell aus. Wir müssen nur die Variable „item“ übergeben, nicht „shopping(item)“, da wir innerhalb der Liste arbeiten.
print("I need to buy :s".format(item))
4. Speichern Sie den Code und führen Sie ihn aus. Die for-Schleife druckt den Inhalt der Einkaufsliste aus.
Vollständige Codeauflistung: Verwenden einer For-Schleife mit einer Liste
print("Using a for loop to print our shopping list")
for item in shopping:
print("I need to buy :s".format(item))
Verwenden von Listen in einem realen Projekt
Eine Einkaufsliste auf unserem Desktop-Computer nützt eigentlich nicht viel, eine Einkaufsliste auf unserem Handy und den Handys anderer Familienmitglieder hingegen schon. Wir werden verwenden ntfy.sh, ein Dienst zum Senden von Benachrichtigungen an Android- und iOS-Geräte. Wir haben es in unserem verwendet Wörterbücher, wie es geht als Dienst zum Senden von Nachrichten und Bildern an Geräte.
1. Installieren Sie ntfy.sh für Ihr Android-/iOS-Gerät.
2. Öffnen Sie die App und klicken Sie auf + um ein neues Abonnement zu erstellen.
3. Erstellen Sie ein neues Thema und klicken Sie auf Abonnieren. Wir haben uns für die Einkaufsliste entschieden. Erstellen Sie ein für Sie persönliches Thema. Beachten Sie außerdem, dass Themen möglicherweise nicht passwortgeschützt sind. Senden Sie daher keine vertraulichen Daten.
4. Lassen Sie die App geöffnet auf Ihrem Gerät.
Nun richtet sich unsere Aufmerksamkeit auf unseren PC, auf dem Thonny läuft.
5. Erstellen Sie eine leere Datei.
6. Importieren Sie das Anforderungsmodul. Dabei handelt es sich um ein Modul mit vorgefertigtem Python-Code, der für das Senden und Empfangen von Netzwerkverbindungen entwickelt wurde.
import requests
7. Erstellen Sie eine leere Liste mit dem Namen „Einkaufen“.
shopping = []
8. Erstellen Sie eine Variable, num_items, erfassen Sie mithilfe einer Eingabefunktion die Antwort auf die Frage und speichern Sie sie als Ganzzahl. Die Eingabefunktion kann ein Eingabeaufforderungsargument annehmen, mit dem wir benutzerdefinierte Eingabeaufforderungen erstellen können.
num_items = int(input("How many items do you want to add to your shopping list? "))
9. Durchlaufen Sie mithilfe einer for-Schleife die erforderliche Anzahl von Artikeln und fordern Sie den Benutzer auf, den Namen des Artikels einzugeben und ihn an die Einkaufsliste anzuhängen. Eine weitere Eingabefunktion wird verwendet, um die Einkaufsartikel des Benutzers zu erfassen. Die Eingabeaufforderung muss eine Zeichenfolge sein, da wir zur Konvertierung die F-String-Formatierung verwenden. Was wir konvertieren, ist der Wert von i, dem Element. Der Wert von i ist mit der Indexnummer verknüpft, der Position des Elements in der Liste. In der Liste beginnt es bei Null, aber für die Eingabeaufforderung addieren wir eins zum Wert für etwas, das für die meisten Menschen verständlicher ist. Dies ist rein kosmetischer Natur und hat keinen Einfluss auf die Listenindexnummern.
for i in range(num_items):
item = input(f"Enter item i+1: ")
shopping.append(item)
10. Drucken Sie eine Nachricht und verwenden Sie dann eine for-Schleife, um den Inhalt der Einkaufsliste zu drucken. Dies dient eher dem Debuggen, ist aber nützlich, um zu überprüfen, ob unsere Liste korrekt ist.
print("The shopping list is:")
for item in shopping:
print(item)
11. Erstellen Sie eine neue Variable, „shopping_list“, und speichern Sie darin den gesamten Inhalt der Einkaufsliste, wobei Sie die Werte durch Kommas trennen. Dies ist ein Formatierungsschritt, um sicherzustellen, dass die Liste korrekt über ntfy.sh gesendet wird.
shopping_list = (", ".join(shopping))
12. Senden Sie die Einkaufsliste an das richtige ntfy.sh-Thema. Das Objekt „shopping_list“ sind die Daten, die wir senden möchten. Der Header ist ein Titel, um die Daten eindeutig zu identifizieren.
requests.post("https://ntfy.sh/th-shopping-list",
data=shopping_list,
headers= "Title": "Shopping List" )
13. Speichern Sie den Code unter dem Namen „shopping-list.py“ und klicken Sie auf „Ausführen“. Geben Sie die Anzahl der Einkaufslistenelemente ein, drücken Sie die Eingabetaste, geben Sie die einzelnen Elemente ein und drücken Sie die Eingabetaste. Sobald die endgültige Eingabe erfolgt ist, wird die Liste durch den letzten Tastendruck auf Ihr Mobiltelefon/Mobilgerät gesendet. Überprüfen Sie Ihr Gerät auf die Benachrichtigung.
Vollständige Codeliste: Real World Project
import requests
shopping = []
num_items = int(input("How many items do you want to add to your shopping list? "))
for i in range(num_items):
item = input(f"Enter item i+1: ")
shopping.append(item)
print("The shopping list is:")
for item in shopping:
print(item)
shopping_list = (", ".join(shopping))
requests.post("https://ntfy.sh/th-shopping-list",
data=shopping_list,
headers= "Title": "Shopping List" )