Dictionaryn oletusarvoiset alaindeksit
Lue Dictionaryn arvoja sisäänrakennettujen oletusarvojen avulla.
Dictionaryn oletusarvoiset alaindeksit on ilmainen Swift Academy-oppitunti CoddyKitissä. Tämä on oppitunti 4/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.
Sanakirjahaun tulos on valinnainen
Avaimen hakeminen muodossa dict[key] palauttaa valinnaisen arvon, koska avainta ei välttämättä ole olemassa. Tämä valinnainen arvo täytyy käsitellä.
let ages = ["Ann": 30]
let bob = ages["Bob"]
print(bob as Any)Oletusarvon sisältävä subscript
Swift tarjoaa oletusarvon sisältävän subscriptin: dict[key, default: value]. Jos avain puuttuu, saat oletusarvon nil-arvon sijaan.
let ages = ["Ann": 30]
print(ages["Bob", default: 0])
print(ages["Ann", default: 0])Tulos ei ole valinnainen
Toisin kuin tavallinen haku, oletusarvon sisältävä subscript palauttaa ei-valinnaisen arvon, joten voit käyttää sitä heti ilman arvon purkamista.
let stock = ["pen": 5]
let pens: Int = stock["pen", default: 0]
print(pens + 1)Laskeminen oletusarvojen avulla
Oletusarvon sisältävä subscript on erityisen hyödyllinen esiintymien laskemisessa. Aloita jokaisen avaimen arvosta 0 ja kasvata arvoa sitä mukaa.
var counts: [String: Int] = [:]
let words = ["a", "b", "a", "a", "b"]
for word in words {
counts[word, default: 0] += 1
}
print(counts["a", default: 0])
print(counts["b", default: 0])Miksi += toimii
Koska dict[key, default: 0] tuottaa todellisen arvon myös uudelle avaimelle, voit muuttaa sitä turvallisesti paikallaan käyttämällä +=-operaattoria.
var tally: [String: Int] = [:]
tally["x", default: 0] += 5
tally["x", default: 0] += 3
print(tally["x", default: 0])Summien ryhmittely
Voit kerryttää summat luokittain yhdellä läpikäynnillä käyttämällä oletusarvon sisältävää subscriptia.
let sales = [("apple", 3), ("pear", 2), ("apple", 4)]
var totals: [String: Int] = [:]
for (item, amount) in sales {
totals[item, default: 0] += amount
}
print(totals["apple", default: 0])Oletusarvo vai nil-arvon yhdistäminen
dict[key, default: 0] vastaa lukemisen yhteydessä lauseketta dict[key] ?? 0, mutta subscript-muoto tukee lisäksi paikallaan tapahtuvaa muuttamista.
let prices = ["tea": 3]
print(prices["tea"] ?? 0)
print(prices["tea", default: 0])Taulukkoarvoihin lisääminen
Oletusarvon sisältävä subscript toimii myös taulukkoarvojen kanssa, joten voit muodostaa ryhmiteltyjä listoja.
var groups: [String: [Int]] = [:]
groups["even", default: []].append(2)
groups["even", default: []].append(4)
print(groups["even", default: []])Oletusarvot eivät lisää avainta
Oletusarvon kanssa lukeminen ei lisää avainta sanakirjaan. Avain tallennetaan vasta, kun arvoa muutetaan, esimerkiksi +=-operaatiolla.
var data: [String: Int] = [:]
_ = data["ghost", default: 0]
print(data.count)
data["real", default: 0] += 1
print(data.count)Järkevän oletusarvon valitseminen
Valitse oletusarvo, joka vastaa arvon tyyppiä ja operaatiota: 0 summille, [] listoille ja tyhjä merkkijono tekstille.
var notes: [String: String] = [:]
notes["greeting", default: ""] += "Hello"
notes["greeting", default: ""] += " World"
print(notes["greeting", default: ""])Laskemisen ja lukemisen yhdistäminen
Muodosta frekvenssikartta ja lue se sitten samalla oletusarvolla, jotta arvo pysyy ei-valinnaisena koko ajan.
var freq: [Character: Int] = [:]
for ch in "banana" {
freq[ch, default: 0] += 1
}
print(freq["a", default: 0])
print(freq["z", default: 0])Pikatarkistus
Testaa oletusarvon sisältävää subscriptia.
Kertaus: sanakirjan oletusarvon sisältävät subscriptit
Käytä muotoa dict[key, default: value] lukeaksesi ei-valinnaisen vara-arvon ja muuttaaksesi arvoja paikallaan. Se sopii erinomaisesti laskemiseen, summaamiseen ja ryhmittelyyn ilman manuaalisia nil-tarkistuksia.
var c: [String: Int] = [:]
for x in ["a", "a", "b"] { c[x, default: 0] += 1 }
print(c["a", default: 0])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 ”Dictionaryn oletusarvoiset alaindeksit” ilmainen?
Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa Swift Academy-oppimispolun 3 oppituntia, myös oppitunnin “Dictionaryn oletusarvoiset alaindeksit”. 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 ”Dictionaryn oletusarvoiset alaindeksit”?
Lue Dictionaryn arvoja sisäänrakennettujen oletusarvojen avulla. 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 4/4.
Kuinka kauan ”Dictionaryn oletusarvoiset alaindeksit”-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
- Nil-arvon yhdistämisoperaattori
- Oletusarvojen ketjuttaminen
- Oletusarvot funktion parametreissa
- Dictionaryn oletusarvoiset alaindeksit