Ero sivun ”Python 2/Sanakirja” versioiden välillä
Poistettu sisältö Lisätty sisältö
p rv |
laajennus |
||
Rivi 1:
Dictionary on datatyyppi, joka koostuu avain–arvo-pareista.
==Yleistä==
Määritellään tyhjä dictionary:
>>> d = {}
Tulostetaan se:
>>> d
{}
Määritellään avain–arvo-pareja sisätävä dictionary:
>>> d = {'Seppo': 'Virtanen', 'Maija': 'Saarinen', 'Martti': 'Lampi'}
Tulostetaan se.
>>> d
{'Maija': 'Saarinen', 'Seppo': 'Virtanen', 'Martti': 'Lampi'}
Huomataan, että dictionary järjestää itsensä. Järjestys määräytyy avainten mukaan Jos järjestys halutaan säilyttää, täytyy käyttää [[Python/monikko|monikkoa]] tai [[Python/lista|listaa]] dictionaryn sijasta.
==Hakeminen==
Hakee avaimet:
>>> d.keys()
['Maija', 'Seppo', 'Martti']
Hakee arvot:
>>> d.values()
['Saarinen', 'Virtanen', 'Lampi']
Dictionarysta voidaan hakea arvo avaimen avulla d[avain].
>>> d['Seppo']
'Virtanen'
Avain–arvo-parit voidaan hakea items()-metodilla:
>>> d.items()
[('Maija', 'Saarinen'), ('Seppo', 'Virtanen'), ('Martti', 'Lampi')]
==Lisääminen==
d[avain] = arvo
>>> d['Pekka'] = 'Ilmarinen'
>>> d
{'Pekka': 'Ilmarinen', 'Maija': 'Saarinen', 'Seppo': 'Virtanen', 'Martti': 'Lampi'}
==Poistaminen==
Poistaminen tapahtuu avaimen avulla del d[avain].
>> del d['Maija']
>> d
{'Seppo': 'Virtanen', 'Martti': 'Lampi'}
Clear poistaa kaiken dictionarystä (tyhjentää).
>>> d.clear()
==Tarkistaminen==
Tarkistaminen onnistuu has_key-metodilla.
True
>>> d['Martti']
'Lampi'
Toinen mahdollisuus on "avain in d":
>>> 'Martti' in d
True
>>> d['Martti']
'Lampi'
==Iterointi==
Avain–arvo-parien iterointi onnistuu iteritems()-metodilla:
nimet = {'Seppo': 'Virtanen', 'Maija': 'Saarinen', 'Martti': 'Lampi'}
for etunimi, sukunimi in nimet.iteritems():
print etunimi, sukunimi
Tulostaa:
Maija Saarinen
Seppo Virtanen
Martti Lampi
==Dict-konstruktori==
Dict-konstruktorilla voidaan määritellä dictionary listan sisällä olevista avain-arvo-muotoisesta monikosta:
>>> d = dict([('Seppo', 'Virtanen'), ('Maija', 'Saarinen'), ('Martti', 'Lampi')])
>>> d
{'Maija': 'Saarinen', 'Seppo': 'Virtanen', 'Martti': 'Lampi'}
Toinen mahdollisuus antaa muuttujia avainsana-argumentteina:
>>> seppo = "Seppo"
>>> virtanen = "Virtanen"
>>> maija = "Maija"
>>> saarinen = "Saarinen"
>>> martti = "Martti"
>>> lampi = "Lampi"
>>> d = dict(seppo=virtanen, maija=saarinen, martti=lampi)
>>> d
{'Maija': 'Saarinen', 'Seppo': 'Virtanen', 'Martti': 'Lampi'}
==Poikkeukset==
* KeyError: avainta ei ole dictionaryssä
==Tehtäviä==
* Tee ohjelma, joka määrittelee tyhjän dictionaryn, lisää siihen avain–arvo-parin, tarkistaa löytyykö dictionarysta avainta ja tulostaa avaimen arvon (jos se löytyy).
d = {}
d['avain'] = ['arvo']
if d.has_key('avain'):
print d['avain']
==Aiheesta muualla==
* [http://docs.python.org/tut/node7.html#SECTION007500000000000000000 Python Tutorial – dictionary]
* [http://www.diveintopython.org/getting_to_know_python/dictionaries.html Dive Into Python – Introducing dictionaries]
[[Luokka:Python|dictionary]]
|