Dictionary als Menge
Teil des Abschnitts Logik & Ablaufsteuerung der GDScript-Journey von Coddy. Lektion 32 von 78.
Um ein Array in eine Menge umzuwandeln, durchlaufe es und mache jeden Wert zu einem Schlüssel. Wiederholte Werte landen beim selben Schlüssel:
var reports := ["spam", "scam", "spam"]
var banned := {}
for word in reports:
banned[word] = true
print(banned.keys()) # ["spam", "scam"]Um zu überprüfen, ob ein Wert enthalten ist, verwende has() oder den in-Operator. Bei einem Dictionary prüfen beide die Schlüssel, niemals die Werte:
print(banned.has("scam")) # true
print("hello" in banned) # false
print("hello" not in banned) # trueEin Array hat auch has(), vergleicht den Wert jedoch Element für Element. Ein Dictionary findet einen Schlüssel direkt, daher bleibt eine Mitgliedschaftsprüfung in einem Set auch bei Tausenden von Einträgen schnell.
Eine for-Schleife über eine Menge durchläuft deren Elemente in der Reihenfolge, in der sie hinzugefügt wurden:
for word in banned:
print(word) # spam, dann scamAufgabe
EinfachDu kontrollierst die Gäste am Eingang einer Party. Das Programm liest zwei Eingabezeilen:
- Die Gästeliste: Namen, durch Leerzeichen getrennt. Einige Namen stehen mehr als einmal darauf.
- Die ankommenden Personen: Namen, durch Leerzeichen getrennt.
Erstelle die Menge guests aus der Gästeliste. Gib aus, wie viele verschiedene Personen auf der Liste stehen, und anschließend eine Zeile pro ankommender Person: NAME: welcome, wenn sie auf der Liste steht, andernfalls NAME: not on the list. Für die Eingabe:
mia leo ana mia
mia sam analautet die Ausgabe:
Guests on the list: 3
mia: welcome
sam: not on the list
ana: welcomeProbier es selbst
extends Node
func _ready():
var guest_list := OS.read_string_from_stdin().split(" ", false)
var arrivals := OS.read_string_from_stdin().split(" ", false)
var guests := {}
# Erstelle die Menge der Gäste
# Gib die Anzahl der Gäste aus und überprüfe jede Ankunft
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Logik & Ablaufsteuerung
1Strings im Detail
String-MethodenIn Strings suchenErsetzen und TrimmenAufteilen und ZusammenfügenRückblick – Benutzernamen prüfen4Wörterbücher Teil 2
Verschachtelte WörterbücherArrays aus WörterbüchernWörterbücher zusammenführenWörterbücher kopierenWiederholung – Häufigkeitszähler10Fortgeschrittene Funktionen
Mehrere Werte zurückgebenLambda-Funktionen Teil 1Lambda-Funktionen Teil 2Wiederholung – Sortieren mit LambdaRekursive Funktionen Teil 1Rekursive Funktionen Teil 2Wiederholung – Verschachteltes Array summieren13Inventarverwaltungssystem
ProjektübersichtArtikel hinzufügen2Fortgeschrittene Entscheidungsfindung
Match mit VariablenMatch-GuardsArray-MusterDictionary-MusterMitgliedschaftsprüfungenRückblick – Befehlsparser5Kontaktbuch-Anwendung
Menü anzeigenKontakt hinzufügen8Schülerdatenverwaltung
ProjektübersichtSchüler hinzufügen3Mehrdimensionale Arrays
Grundlagen zu 2D-ArraysAuf Elemente in 2D-Arrays zugreifenVerschachtelte Schleifen mit 2D-ArraysWiederholung – 2D-ArraysGezackte ArraysGängige Muster für 2D-ArraysWiederholung – Spielbrett6Mengen mit Dictionaries
Was ist eine Menge?Dictionary als MengeHinzufügen und EntfernenVereinigung und SchnittmengeMengendifferenzWiederholung – Duplikate entfernen9Fortgeschrittene Datenaggregation
Werte summierenMinimum und Maximum findenBenutzerdefiniertes SortierenRückblick – Wörterbuch-Sortierer12Einfache Fehlerbehandlung
Was ist Fehlerbehandlung?Eingaben validierenGuard ClausesFehlercodes zurückgebenRückblick – Sichere DivisionÜbe selbstständig: Online-GDScript-Compiler