Słownik jako zbiór
Część sekcji Logika i przepływ programu ścieżki GDScript w Coddy. Lekcja 32 z 78.
Aby zamienić tablicę w zbiór, przejdź po niej pętlą i ustaw każdą wartość jako klucz. Powtarzające się wartości trafiają pod ten sam klucz:
var reports := ["spam", "scam", "spam"]
var banned := {}
for word in reports:
banned[word] = true
print(banned.keys()) # ["spam", "scam"]Aby sprawdzić, czy wartość jest elementem słownika, użyj has() lub operatora in. W przypadku słownika oba sprawdzają klucze, nigdy wartości:
print(banned.has("scam")) # true
print("hello" in banned) # false
print("hello" not in banned) # trueTablica ma również metodę has(), ale porównuje wartość kolejno z każdym elementem. Słownik znajduje klucz bezpośrednio, dlatego sprawdzanie przynależności do zbioru pozostaje szybkie nawet przy tysiącach elementów.
Pętla for przechodzi po elementach zbioru w kolejności, w jakiej zostały dodane:
for word in banned:
print(word) # spam, potem scamWyzwanie
ŁatwySprawdzasz gości przy wejściu na imprezę. Program odczytuje dwa wiersze danych wejściowych:
- Lista gości: imiona oddzielone spacjami. Niektóre imiona są zapisane więcej niż raz.
- Przybywające osoby: imiona oddzielone spacjami.
Utwórz zbiór guests na podstawie listy gości. Wypisz, ile różnych osób znajduje się na liście, a następnie po jednym wierszu dla każdej przybywającej osoby: NAME: welcome, jeśli znajduje się na liście, lub NAME: not on the list. Dla danych wejściowych:
mia leo ana mia
mia sam anawynik to:
Guests on the list: 3
mia: welcome
sam: not on the list
ana: welcomeSpróbuj swoich sił
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 := {}
# Utwórz zbiór gości
# Wypisz liczbę gości i sprawdź każdą przybyłą osobę
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Logika i przepływ programu
1Łańcuchy znaków — zagadnienia zaawansowane
Metody łańcuchów znakówWyszukiwanie w łańcuchach znakówZastępowanie i przycinanieDzielenie i łączeniePodsumowanie — sprawdzanie nazwy użytkownika4Słowniki, część 2
Zagnieżdżone słownikiTablice słownikówŁączenie słownikówKopiowanie słownikówPodsumowanie – licznik częstotliwości7Typy wyliczeniowe
Czym jest typ wyliczeniowy?Definiowanie typu wyliczeniowegoWartości typu wyliczeniowegoTypy wyliczeniowe w matchPowtórka – sygnalizacja świetlna10Zaawansowane funkcje
Zwracanie wielu wartościFunkcje lambda — część 1Funkcje lambda — część 2Powtórka — sortowanie za pomocą lambdaFunkcje rekurencyjne — część 1Funkcje rekurencyjne — część 2Powtórka — sumowanie zagnieżdżonej tablicy13System zarządzania zapasami
Omówienie projektuDodawanie produktu2Zaawansowane podejmowanie decyzji
Dopasowanie ze zmiennymiStrażnicy dopasowaniaWzorce tablicWzorce słownikówSprawdzanie przynależnościPowtórka — parser poleceń5Aplikacja książki kontaktów
Wyświetlanie menuDodawanie kontaktu8Menedżer danych studentów
Przegląd projektuDodaj studenta3Tablice wielowymiarowe
Podstawy tablic 2DDostęp do elementów tablic 2DPętle zagnieżdżone z tablicami 2DPodsumowanie — tablice 2DTablice postrzępioneTypowe wzorce tablic 2DPodsumowanie — plansza do gry6Zbiory ze słownikami
Czym jest zbiór?Słownik jako zbiórDodawanie i usuwanieSuma i część wspólnaRóżnica zbiorówPowtórka – usuwanie duplikatów9Zaawansowana agregacja danych
Sumowanie wartościZnajdowanie minimum i maksimumSortowanie niestandardowePodsumowanie – Sortownik słownikówPoćwicz samodzielnie: Kompilator GDScript online