Ero sivun ”Python 2/Sanakirja” versioiden välillä

Poistettu sisältö Lisätty sisältö
Travel1515415 (keskustelu | muokkaukset)
Ei muokkausyhteenvetoa
Hunsvotti (keskustelu | muokkaukset)
Korvattu vanhentunut source-tagi syntaxhighlight-tagilla
 
Rivi 4:
 
==Operaatiot==
<sourcesyntaxhighlight lang="Python">
len(a)
a[k]
Rivi 26:
a.iterkeys()
a.itervalues()
</syntaxhighlight>
</source>
 
==Yleistä==
 
;Määritellään tyhjä dictionary:
<sourcesyntaxhighlight lang="Python">
>>> d = {}
</syntaxhighlight>
</source>
 
;Tulostetaan se:
<sourcesyntaxhighlight lang="Python">
>>> d
{}
>>>
</syntaxhighlight>
</source>
 
;Määritellään avain&ndash;arvo-pareja sisätävä dictionary:
 
<sourcesyntaxhighlight lang="Python">
>>> d = {'Seppo': 'Virtanen', 'Maija': 'Saarinen', 'Martti': 'Lampi'}
</syntaxhighlight>
</source>
 
;Tulostetaan se:
<sourcesyntaxhighlight lang="Python">
>>> d
{'Maija': 'Saarinen', 'Seppo': 'Virtanen', 'Martti': 'Lampi'}
>>>
</syntaxhighlight>
</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.
Rivi 59:
;Tulostetaan vain yksi arvo avaimen avulla:
 
<sourcesyntaxhighlight lang="Python">
>>> d['Maija']
'Saarinen'
</syntaxhighlight>
</source>
 
==Hakeminen==
Rivi 68:
;Haetaan avaimet:
 
<sourcesyntaxhighlight lang="Python">
>>> d.keys()
['Maija', 'Seppo', 'Martti']
</syntaxhighlight>
</source>
 
;Haetaan arvot:
 
<sourcesyntaxhighlight lang="Python">
>>> d.values()
['Saarinen', 'Virtanen', 'Lampi']
</syntaxhighlight>
</source>
 
;Dictionarysta voidaan hakea arvo avaimen avulla d[avain]:
<sourcesyntaxhighlight lang="Python">
>>> d['Seppo']
'Virtanen'
</syntaxhighlight>
</source>
 
;Avain&ndash;arvo-parit voidaan hakea items()-metodilla:
<sourcesyntaxhighlight lang="Python">
>>> d.items()
[('Maija', 'Saarinen'), ('Seppo', 'Virtanen'), ('Martti', 'Lampi')]
</syntaxhighlight>
</source>
 
==Lisääminen==
Rivi 97:
;d[avain] = arvo:
 
<sourcesyntaxhighlight lang="Python">
>>> d['Pekka'] = 'Ilmarinen'
>>> d
{'Pekka': 'Ilmarinen', 'Maija': 'Saarinen', 'Seppo': 'Virtanen', 'Martti': 'Lampi'}
</syntaxhighlight>
</source>
 
==Poistaminen==
Rivi 107:
;Poistaminen tapahtuu avaimen avulla del d[avain]:
 
<sourcesyntaxhighlight lang="Python">
>> del d['Maija']
>> d
{'Seppo': 'Virtanen', 'Martti': 'Lampi'}
</syntaxhighlight>
</source>
 
;Clear poistaa kaiken dictionarystä (tyhjentää):
 
<sourcesyntaxhighlight lang="Python">
>>> d.clear()
</syntaxhighlight>
</source>
 
==Kopiominen==
Rivi 123:
;Dictionaryn voi kopioida copy()-metodilla:
 
<sourcesyntaxhighlight lang="Python">
>> a = d.copy()
>> a
>> {'Maija': 'Saarinen', 'Seppo': 'Virtanen', 'Martti': 'Lampi'}
</syntaxhighlight>
</source>
 
==Tarkistaminen==
Rivi 133:
;Tarkistaminen onnistuu has_key-metodilla:
 
<sourcesyntaxhighlight lang="Python">
>>> d.has_key('Martti')
True
>>> d['Martti']
'Lampi'
</syntaxhighlight>
</source>
 
;Toinen mahdollisuus on "avain in d":
<sourcesyntaxhighlight lang="Python">
>>> 'Martti' in d
True
>>> d['Martti']
'Lampi'
</syntaxhighlight>
</source>
 
==Yhdistäminen==
Rivi 152:
;Kahden dictionaryn yhdistäminen:
 
<sourcesyntaxhighlight lang="Python">
>>> d = {'apples': 1, 'oranges': 3, 'pears': 2}
>>> d2 = {'pears': 4, 'grapes': 5, 'lemons': 6}
Rivi 158:
>>> d
{'grapes': 5, 'pears': 4, 'lemons': 6, 'apples': 1, 'oranges': 3}
</syntaxhighlight>
</source>
 
==Iteroiminen==
Rivi 164:
;Avainten iteroiminen:
 
<sourcesyntaxhighlight lang="Python">
nimet = {'Seppo': 'Virtanen', 'Maija': 'Saarinen', 'Martti': 'Lampi'}
for etunimi in nimet:
print etunimi
</syntaxhighlight>
</source>
 
;Arvojen iteroiminen:
 
<sourcesyntaxhighlight lang="Python">
nimet = {'Seppo': 'Virtanen', 'Maija': 'Saarinen', 'Martti': 'Lampi'}
for sukunimi in nimet.itervalues():
print sukunimi
</syntaxhighlight>
</source>
 
;Avain&ndash;arvo-parien iteroiminen onnistuu iteritems()-metodilla:
 
<sourcesyntaxhighlight lang="Python">
nimet = {'Seppo': 'Virtanen', 'Maija': 'Saarinen', 'Martti': 'Lampi'}
for etunimi, sukunimi in nimet.iteritems():
print etunimi, sukunimi
</syntaxhighlight>
</source>
 
;Tulostaa:
<sourcesyntaxhighlight lang="Python">
Maija Saarinen
Seppo Virtanen
Martti Lampi
</syntaxhighlight>
</source>
 
==Dict-konstruktori==
Rivi 197:
;Dict-konstruktorilla voidaan määritellä dictionary listan sisällä olevista avain-arvo-muotoisesta monikosta:
 
<sourcesyntaxhighlight lang="Python">
>>> d = dict([('Seppo', 'Virtanen'), ('Maija', 'Saarinen'), ('Martti', 'Lampi')])
>>> d
{'Maija': 'Saarinen', 'Seppo': 'Virtanen', 'Martti': 'Lampi'}
</syntaxhighlight>
</source>
 
;Toinen mahdollisuus antaa muuttujia avainsana-argumentteina:
<sourcesyntaxhighlight lang="Python">
>>> seppo = "Seppo"
>>> virtanen = "Virtanen"
Rivi 215:
>>> d
{'Maija': 'Saarinen', 'Seppo': 'Virtanen', 'Martti': 'Lampi'}
</syntaxhighlight>
</source>
 
==Poikkeukset==
Rivi 225:
* Tee ohjelma, joka määrittelee tyhjän dictionaryn, lisää siihen avain&ndash;arvo-parin, tarkistaa löytyykö dictionarysta avainta ja tulostaa avaimen arvon (jos se löytyy).
 
<sourcesyntaxhighlight lang="Python">
d = {}
d['avain'] = ['arvo']
if d.has_key('avain'):
print d['avain']
</syntaxhighlight>
</source>
 
===Aiheesta muualla===