Ero sivun ”Python 2/Sanakirja” versioiden välillä
Poistettu sisältö Lisätty sisältö
Ei muokkausyhteenvetoa |
|||
Rivi 2:
==Operaatiot==
<source lang="Python">
len(a)
a[k]
a[k] = v
del a[k]
a.clear()
a.copy()
k not in a
a.has_key(k)
a.items()
a.update([b])
a.fromkeys(seq[, value])
a.values()
a.get(k[, x])
a.setdefault(k[, x])
a.pop(k[, x])
a.popitem()
a.iterkeys()
</source>
==Yleistä==
;Määritellään tyhjä dictionary:
<source lang="Python">
>>> d = {}
</source>
;Tulostetaan se:
<source lang="Python">
{}
>>>
</source>
;Määritellään avain–arvo-pareja sisätävä dictionary:
<source lang="Python">
>>> d = {'Seppo': 'Virtanen', 'Maija': 'Saarinen', 'Martti': 'Lampi'}
</source>
;Tulostetaan se:
<source lang="Python">
>>> d
{'Maija': 'Saarinen', 'Seppo': 'Virtanen', 'Martti': 'Lampi'}
>>>
</source>
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.
;Tulostetaan vain yksi arvo avaimen avulla:
<source lang="Python">
>>> d['Maija']
'Saarinen'
</source>
==Hakeminen==
<source lang="Python">
>>> d.keys()
['Maija', 'Seppo', 'Martti']
</source>
<source lang="Python">
>>> d.values()
['Saarinen', 'Virtanen', 'Lampi']
</source>
;Dictionarysta voidaan hakea arvo avaimen avulla d[avain]
<source lang="Python">
>>> d['Seppo']
'Virtanen'
</source>
;Avain–arvo-parit voidaan hakea items()-metodilla:
<source lang="Python">
>>> d.items()
[('Maija', 'Saarinen'), ('Seppo', 'Virtanen'), ('Martti', 'Lampi')]
</source>
==Lisääminen==
;d[avain] = arvo:
<source lang="Python">
>>> d['Pekka'] = 'Ilmarinen'
>>> d
{'Pekka': 'Ilmarinen', 'Maija': 'Saarinen', 'Seppo': 'Virtanen', 'Martti': 'Lampi'}
</source>
==Poistaminen==
;Poistaminen tapahtuu avaimen avulla del d[avain]
<source lang="Python">
>> del d['Maija']
>> d
{'Seppo': 'Virtanen', 'Martti': 'Lampi'}
</source>
;Clear poistaa kaiken dictionarystä (tyhjentää)
<source lang="Python">
>>> d.clear()
</source>
==Kopiominen==
;Dictionaryn voi kopioida copy()-metodilla:
<source lang="Python">
>> a = d.copy()
>> a
>> {'Maija': 'Saarinen', 'Seppo': 'Virtanen', 'Martti': 'Lampi'}
</source>
==Tarkistaminen==
;Tarkistaminen onnistuu has_key-metodilla
<source lang="Python">
>>> d.has_key('Martti')
True
>>> d['Martti']
'Lampi'
</source>
;Toinen mahdollisuus on "avain in d":
<source lang="Python">
>>> 'Martti' in d
True
>>> d['Martti']
'Lampi'
</source>
==Yhdistäminen==
;Kahden dictionaryn yhdistäminen:
<source lang="Python">
>>> d = {'apples': 1, 'oranges': 3, 'pears': 2}
>>> d2 = {'pears': 4, 'grapes': 5, 'lemons': 6}
Rivi 149 ⟶ 156:
>>> d
{'grapes': 5, 'pears': 4, 'lemons': 6, 'apples': 1, 'oranges': 3}
</source>
==Iteroiminen==
;Avainten iteroiminen:
<source lang="Python">
nimet = {'Seppo': 'Virtanen', 'Maija': 'Saarinen', 'Martti': 'Lampi'}
for etunimi in nimet.iterkeys():
print etunimi
</source>
;Arvojen iteroiminen:
<source lang="Python">
nimet = {'Seppo': 'Virtanen', 'Maija': 'Saarinen', 'Martti': 'Lampi'}
for sukunimi in nimet.itervalues():
print sukunimi
</source>
;Avain–arvo-parien iteroiminen onnistuu iteritems()-metodilla:
<source lang="Python">
nimet = {'Seppo': 'Virtanen', 'Maija': 'Saarinen', 'Martti': 'Lampi'}
for etunimi, sukunimi in nimet.iteritems():
print etunimi, sukunimi
</source>
;Tulostaa:
<source lang="Python">
Maija Saarinen
Seppo Virtanen
Martti Lampi
</source>
==Dict-konstruktori==
;Dict-konstruktorilla voidaan määritellä dictionary listan sisällä olevista avain-arvo-muotoisesta monikosta:
<source lang="Python">
>>> d = dict([('Seppo', 'Virtanen'), ('Maija', 'Saarinen'), ('Martti', 'Lampi')])
>>> d
{'Maija': 'Saarinen', 'Seppo': 'Virtanen', 'Martti': 'Lampi'}
</source>
;Toinen mahdollisuus antaa muuttujia avainsana-argumentteina:
<source lang="Python">
>>> seppo = "Seppo"
>>> virtanen = "Virtanen"
Rivi 194 ⟶ 213:
>>> d
{'Maija': 'Saarinen', 'Seppo': 'Virtanen', 'Martti': 'Lampi'}
</source>
==Poikkeukset==
Rivi 203 ⟶ 223:
* 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).
<source lang="Python">
d = {}
d['avain'] = ['arvo']
if d.has_key('avain'):
print d['avain']
</source>
===Aiheesta muualla===
|