Python Academy · Oppitunti

Sanakirjojen menetelmät

Käyttäkää get-, keys-, values-, items-, update- ja pop-menetelmiä.

Oppitunti 2/414 vaihetta

Sanakirjojen menetelmät on ilmainen Python Academy-oppitunti CoddyKitissä. Tämä on oppitunti 2/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Python Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Python Academy-kurssilla on yhteensä 4 oppituntia.

Johdanto

Pythonin sanakirjoissa on monipuolinen joukko metodeja tietojen yhdistämiseen, muuntamiseen ja turvalliseen käyttämiseen.

keys(), values(), items()

Nämä palauttavat näkymäobjekteja, jotka heijastavat sanakirjaan tehtyjä muutoksia. Muuntakaa näkymä listaksi, jos tarvitsette tilannekuvan.
d = {'a': 1, 'b': 2}
print(list(d.keys()))
print(list(d.values()))
print(list(d.items()))

update()

d.update({'c': 3, 'd': 4}) yhdistää toisen sanakirjan tähän sanakirjaan. Olemassa olevat avaimet korvataan.
d = {'a': 1}
d.update({'b': 2, 'a': 99})
print(d)

pop() oletusarvon kanssa

d.pop('key', default) poistaa avaimen ja palauttaa sen arvon. Jos avain puuttuu eikä oletusarvoa anneta, syntyy KeyError-virhe.
d = {'a': 1, 'b': 2}
val = d.pop('a')
print(val, d)

popitem()

d.popitem() poistaa viimeksi lisätyn (key, value)-parin ja palauttaa sen. Tyhjästä sanakirjasta käytettynä se aiheuttaa KeyError-virheen.
d = {'a': 1, 'b': 2}
print(d.popitem())
print(d)

setdefault()

d.setdefault('key', default) lisää oletusarvon, jos avain puuttuu, ja palauttaa arvon. Se välttää erilliset get- ja asetusoperaatiot.
d = {}
d.setdefault('count', 0)
d['count'] += 1
print(d)

Yhdistäminen |-operaattorilla (Python 3.9+)

d1 | d2 palauttaa uuden yhdistetyn sanakirjan. d1 |= d2 päivittää d1:n paikallaan. Tämä on selkeämpi tapa kuin update().
d1 = {'a': 1}
d2 = {'b': 2}
print(d1 | d2)

copy() ja deepcopy()

d.copy() luo pinnallisen kopion. Käyttäkää sisäkkäisille sanakirjoille copy.deepcopy(d)-kutsua jaettujen viittausten välttämiseksi.
import copy
d = {'a': [1,2]}
deep = copy.deepcopy(d)
deep['a'].append(3)
print(d, deep)

Counter collections-moduulista

from collections import Counter; Counter('banana') laskee merkkien frekvenssit automaattisesti.
from collections import Counter
c = Counter('banana')
print(c)

defaultdict

from collections import defaultdict; d = defaultdict(list) luo puuttuville avaimille automaattisesti tyhjän listan.
from collections import defaultdict
d = defaultdict(list)
d['a'].append(1)
print(d)

OrderedDict (vanhaa käyttöä koskeva huomautus)

Pythonin versiossa 3.7 ja uudemmissa tavalliset sanakirjat säilyttävät lisäysjärjestyksen. OrderedDict on edelleen hyödyllinen move_to_end()-metodille ja järjestyksestä riippuvassa yhtäsuuruusvertailussa.
from collections import OrderedDict
od = OrderedDict({'a':1,'b':2})
od.move_to_end('a')
print(list(od))

Pikatarkistus

Mitä d.setdefault('key', 0) tekee, jos 'key' ei ole d-sanakirjassa?

Kertaus

Sanakirjametodit: update, pop/popitem, setdefault, copy/deepcopy. Käyttäkää Counter-luokkaa frekvenssien laskemiseen, defaultdict-luokkaa puuttuvien avainten tarkistamisen välttämiseen ja |-operaattoria yhdistämiseen (3.9+).

Jatkakaa

Hienosti tehty! Siirtykää seuraavaan oppituntiin jatkaaksenne taitojenne kehittämistä.
Aloita maksutta

Opi Python 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
76
Oppitunnit
320

Usein kysytyt kysymykset

Onko oppitunti ”Sanakirjojen menetelmät” ilmainen?

Kyllä – oppitunnin ”Sanakirjojen menetelmät” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Python Academy-kurssin, päivitä CoddyKit PROhon. Python Academy-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”Sanakirjojen menetelmät”?

Käyttäkää get-, keys-, values-, items-, update- ja pop-menetelmiä. Harjoittelet Python Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni Python Academy-opiskelun?

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

Kuinka kauan ”Sanakirjojen menetelmät”-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ä Python Academy-oppitunnilla?

Kyllä. Jokainen Python 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. Sanakirjojen perusteet
  2. Sanakirjojen menetelmät
  3. Joukot ja joukko-operaatiot
  4. Sanakirjakonstruktioiden perusteet
← Takaisin: Python Academy