0Pricing
Swift Academy · Lekcja

Iterowanie po słownikach i ich przekształcanie

Używać mapValues, filter i merge oraz grupować dane w słownikach

Iterowanie po słownikach i ich przekształcanie to bezpłatna lekcja Swift Academy na CoddyKit. To lekcja 2 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Swift Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Swift Academy zawiera 4 lekcji w sumie.

Witamy

Słowniki są pełnymi typami `Sequence`. Obsługują `for-in`, `map`, `filter`, `reduce` i inne operacje, zapewniając funkcjonalny zestaw narzędzi do pracy z danymi opartymi na kluczach.

Iterowanie za pomocą for-in

```swift let prices = ["apple":1.5,"banana":0.8] for (fruit, price) in prices { print("\(fruit): $\(price)") } ``` Kolejność nie jest gwarantowana — aby uzyskać deterministyczny wynik, należy posortować `prices.sorted { $0.key < $1.key }`.

mapValues

```swift let scores = ["Alice":80,"Bob":90] let doubled = scores.mapValues { $0 * 2 } // ["Alice":160,"Bob":180] ``` `mapValues` zachowuje klucze i przekształca tylko wartości.

filter w słownikach

```swift let d = ["a":1,"b":5,"c":3] let big = d.filter { $0.value > 2 } // ["b":5,"c":3] ```

Grupowanie za pomocą Dictionary(grouping:by:)

```swift let words = ["apple","ant","ball","banana"] let grouped = Dictionary(grouping: words) { $0.first! } // ["a":["apple","ant"],"b":["ball","banana"]] ``` To niezwykle przydatny wzorzec kategoryzowania danych.

reduce do słownika

```swift let nums = [1,2,3,4,5] let freq = nums.reduce(into: [Int:Int]()) { $0[$1, default:0] += 1 } // [1:1,2:1,3:1,4:1,5:1] ```

Iterowanie po posortowanych kluczach

```swift let d = ["c":3,"a":1,"b":2] for key in d.keys.sorted() { print("\(key): \(d[key]!)") } // a:1, b:2, c:3 ```

compactMapValues

```swift let raw = ["a":"1","b":"two","c":"3"] let nums = raw.compactMapValues { Int($0) } // ["a":1,"c":3] — "b" dropped ``` Przekształca wartości i usuwa elementy, dla których transformacja zwraca nil.

Redukowanie do jednej wartości

```swift let sales = ["Q1":1000,"Q2":1200,"Q3":800] let total = sales.values.reduce(0, +) // 3000 let max = sales.values.max()! // 1200 ```

Słownik z dwóch tablic

```swift let keys = ["a","b","c"] let vals = [1, 2, 3] let d = Dictionary(uniqueKeysWithValues: zip(keys, vals)) // ["a":1,"b":2,"c":3] ```

Szybkie sprawdzenie

Która metoda przekształca wartości słownika, zachowując niezmienione klucze?

Podsumowanie

Najważniejsze informacje: • `for (k,v) in dict` — iterowanie; aby uzyskać deterministyczny wynik, należy sortować klucze • `mapValues` — przekształca wartości i zachowuje klucze • `filter` — zwraca nowy słownik zawierający pasujące pary • `Dictionary(grouping:by:)` — zaawansowany inicjalizator do grupowania • `compactMapValues` — przekształca wartości i usuwa nil Dalej: operacje na zbiorach.

Często zadawane pytania

Czy lekcja „Iterowanie po słownikach i ich przekształcanie” jest bezpłatna?

Tak — pełny tekst „Iterowanie po słownikach i ich przekształcanie” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Swift Academy, przejdź na CoddyKit PRO. Kurs Swift Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „Iterowanie po słownikach i ich przekształcanie”?

Używać mapValues, filter i merge oraz grupować dane w słownikach Ćwiczysz Swift Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Swift Academy?

Nie wymagamy żadnego doświadczenia. Swift Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 4.

Ile czasu zajmuje lekcja „Iterowanie po słownikach i ich przekształcanie”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Swift Academy?

Tak. Każda lekcja Swift Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Operacje CRUD na słowniku i dostęp przez subscript
  2. Iterowanie po słownikach i ich przekształcanie
  3. Operacje na zbiorach: suma, przecięcie i różnica
  4. Wybór między Array, Dictionary i Set
← Powrót do Swift Academy