Swift Academy · Oppitunti

Kokoelmien läpikäynti for-in-silmukalla

Käykää taulukoita, sanakirjoja ja joukkoja läpi enumerated- ja zip-funktioilla.

Oppitunti 3/412 vaihetta

Kokoelmien läpikäynti for-in-silmukalla on ilmainen Swift Academy-oppitunti CoddyKitissä. Tämä on oppitunti 3/4. Voit lukea tästä oppimispolusta kokonaan mitkä tahansa 3 oppituntia ilmaiseksi — sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä käytännön harjoittelun sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Oppitunti kuuluu Swift Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Swift Academy-kurssilla on yhteensä 4 oppituntia.

Tervetuloa

`for-in`-silmukka toimii minkä tahansa `Sequence`-tyypin kanssa — taulukoiden, sanakirjojen, joukkojen, merkkijonojen ja omien mukautettujen tyyppienne kanssa. Katsotaan hyödyllisimmät rakenteet.

Taulukon läpikäynti

```swift let fruits = ["apple", "banana", "cherry"] for fruit in fruits { print(fruit) } // apple, banana, cherry ``` Jokainen alkio sidotaan `fruit`-muuttujaan yhden iteraation ajaksi.

enumerated() — indeksi ja arvo

Kun tarvitsette sekä indeksin että arvon, käyttäkää `.enumerated()`-metodia: ```swift for (index, fruit) in fruits.enumerated() { print("\(index): \(fruit)") } // 0: apple // 1: banana // 2: cherry ``` `enumerated()` palauttaa `(offset, element)`-monikoista koostuvan sekvenssin.

Sanakirjan läpikäynti

Sanakirjaa läpikäytäessä saadaan määrittelemättömässä järjestyksessä `(key, value)`-monikoita: ```swift let scores = ["Alice": 95, "Bob": 87] for (name, score) in scores { print("\(name): \(score)") } ``` Lajitelkaa avaimet ensin, jos tarvitsette deterministisen järjestyksen.

Joukon läpikäynti

Joukon alkiot käydään läpi määrittelemättömässä järjestyksessä: ```swift let colors: Set = ["red", "green", "blue"] for color in colors.sorted() { print(color) } ``` Kutsukaa `.sorted()`-metodia, kun tarvitsette aakkosjärjestyksen tai nousevan järjestyksen.

zip() — rinnakkainen läpikäynti

Käykää kaksi sekvenssiä rinnakkain läpi `zip()`-funktiolla: ```swift let names = ["Alice", "Bob", "Carol"] let scores = [95, 87, 92] for (name, score) in zip(names, scores) { print("\(name): \(score)") } ``` `zip` lopettaa, kun lyhyempi sekvenssi päättyy.

Suodatus iteroitaessa: where-lauseke

Lisätkää `where`-lauseke ohittamaan elementtejä suoraan silmukassa: ```swift for n in 1...20 where n % 3 == 0 { print(n) // 3, 6, 9, 12, 15, 18 } ``` Tämä on selkeämpää kuin sijoittaa `if` silmukan runkoon.

Iterointi indeksien avulla

Käyttäkää raakaa indeksialuetta `.indices`-ominaisuuden avulla: ```swift var arr = [10, 20, 30] for i in arr.indices { arr[i] *= 2 } // arr is now [20, 40, 60] ``` Käyttäkää tätä, kun haluatte *muokata* elementtejä suoraan paikallaan.

Tuplejen purkaminen for-in-silmukassa

Tuplejen sekvenssit voidaan purkaa suoraan silmukassa: ```swift let points = [(1, 2), (3, 4), (5, 6)] for (x, y) in points { print("x=\(x), y=\(y)") } ``` Selkeää ja tiivistä — `.0`- ja `.1`-alaindeksejä ei tarvita.

Laiskat sekvenssit silmukoissa

Lisätkää `.lazy` etuliitteeksi laskennan lykkäämiseksi ja väliaikaisten taulukoiden välttämiseksi: ```swift let total = (1...1_000_000) .lazy .filter { $0 % 2 == 0 } .prefix(5) .reduce(0, +) print(total) // 30 ``` `.lazy` on tehokas, kun suurille sekvensseille ketjutetaan operaatioita.

Pikatarkistus

Mikä metodi antaa sekä indeksin että arvon taulukkoa iteroitaessa?

Kertaus

Tärkeimmät asiat: • `for elem in collection` — perusiterointi • `.enumerated()` — indeksi- ja arvoparit • `zip(a, b)` — kahden sekvenssin rinnakkainen läpikäynti • `for x in seq where condition` — suodatus suoraan silmukassa • `.indices` — käyttäkää elementtejä muokatessanne • `.lazy` — lykkää laskentaa suurissa sekvensseissä Seuraavaksi: break, continue ja nimetyt lauseet.
Aloita maksutta

Opi Swift tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
122
Oppitunnit
409

Usein kysytyt kysymykset

Onko oppitunti ”Kokoelmien läpikäynti for-in-silmukalla” ilmainen?

Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa Swift Academy-oppimispolun 3 oppituntia, myös oppitunnin “Kokoelmien läpikäynti for-in-silmukalla”. Sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä interaktiiviset harjoitukset sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Swift Academy-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”Kokoelmien läpikäynti for-in-silmukalla”?

Käykää taulukoita, sanakirjoja ja joukkoja läpi enumerated- ja zip-funktioilla. Harjoittelet Swift Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni Swift Academy-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin Swift Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 3/4.

Kuinka kauan ”Kokoelmien läpikäynti for-in-silmukalla”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä Swift Academy-oppitunnilla?

Kyllä. Jokainen Swift Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. for-in-silmukat alueilla
  2. while- ja repeat-while-silmukat
  3. Kokoelmien läpikäynti for-in-silmukalla
  4. break, continue ja nimetyt lauseet
← Takaisin: Swift Academy