目次
- 1 1. Mis on Pythoni sõnastik (dictionary)
- 2 2. Pythoni sõnastikule elemendi lisamise põhimõte
- 3 3. Kuidas lisada sõnastikku elemente, vältides ülekirjutamist
- 4 4. Kuidas ühendada mitu sõnastikku ja lisada elemente
- 5 5. Rakenduslikud tehnikad: elementide lisamine tingimuste alusel
- 6 6. Sõnastiku operatsioonide veahaldus
- 7 7. Kokkuvõte: Sõnastiku lisamise parimad tavad
1. Mis on Pythoni sõnastik (dictionary)
Pythoni sõnastik (dictionary) on andmetüüp, mis salvestab võtme ja väärtuse paare, võimaldades väga tõhusat andmehaldust. Erinevalt listidest ja tuplidest ei säilita sõnastik järjekorda, kuid selle omadus on, et võtme abil saab kiiresti väärtusi hankida. See on üks Pythonis sageli kasutatavaid andmetüüpe.Sõnastiku põhiomadused
- Võtme ja väärtuse paar: Sõnastik koosneb unikaalsest võtmest ja sellele vastavast väärtusest. Võti peab olema muutumatu tüüp (nt string või number), kuid väärtuseks võib olla mis tahes tüüp.
- Järjekord puudub: Pythoni sõnastikel ei ole salvestusjärjekorda, seega otsitakse väärtust võtme alusel.
- Väärtuse viitamine: Võtme määramisega saab kiiresti väärtust viidata.
Sõnastiku loomise näide
Allolevas näites näidatakse, kuidas luua sõnastik ja kasutada võtit väärtuse väljavõtmiseks.Sõnastiku loomine
my_dict = {
"apple": "õun",
"banana": "banaan",
"cherry": "kirsike"
}
Väärtuse hankimine
print(my_dict["apple"]) # Väljund: õun
2. Pythoni sõnastikule elemendi lisamise põhimõte
Pythonis kasutatakse olemasolevale sõnastikule elemendi lisamiseks lihtsat omistamislause. See meetod on ka neile, kes käsitlevad sõnastikku esimest korda, intuitiivne ja arusaadav.Põhiline elementide lisamise meetod
Uue elemendi lisamise vorming sõnastikku on järgmine.Uue elemendi lisamine
my_dict["orange"] = "apelsin"
print(my_dict)
Väljund: {'apple': 'õun', 'banana': 'banaan', 'cherry': 'kirsike', 'orange': 'apelsin'}
Selle meetodi korral, kui määratud võti ei eksisteeri, lisatakse uus element. Kuid olemasoleva võtme kasutamisel tuleb tähele panna, et väärtus kirjutatakse üle.Üle kirjutamine sama võtme kasutamisel
Kui lisada sõnastikku olemasoleva võtmega uus väärtus, kirjutatakse see üle.my_dict["banana"] = "banaanijook"
print(my_dict)
Väljund: {'apple': 'õun', 'banana': 'banaanijook', 'cherry': 'kirsike', 'orange': 'apelsin'}
Nii muutub juba olemasoleva võtme "banana"
väärtus ja algne väärtus kirjutatakse üle.3. Kuidas lisada sõnastikku elemente, vältides ülekirjutamist
Kui soovite vältida ülekirjutamist, kasutagesetdefault()
meetodit. See meetod lisab uue elemendi ainult siis, kui määratud võti ei eksisteeri sõnastikus, nii et te ei pea kartma väärtuse kogemata ülekirjutamist.setdefault()
kasutamise näide
Järgnevas koodis näidatakse, kuidas setdefault()
abil lisada uusi elemente, ilma olemasolevaid elemente üle kirjutamata.my_dict.setdefault("banana", "banaanismoothie")
my_dict.setdefault("grape", "viinamari")
print(my_dict)
Väljund: {'apple': 'õun', 'banana': 'banaanijook', 'cherry': 'kirsike', 'orange': 'apelsin', 'grape': 'viinamari'}
Selles näites on "banana"
võti juba olemas, seega väärtust ei kirjutata üle ja ainult uus võti "grape"
lisati.4. Kuidas ühendada mitu sõnastikku ja lisada elemente
Kui soovite ühendada mitu sõnastikku üheks, võite kasutadaupdate()
meetodit. See võimaldab lisada teise sõnastiku elemendid korraga ning hallata andmeid tõhusalt.update()
meetodi kasutusnäide
Allpool on näide, kuidas update()
meetodiga ühendada kaks sõnastikku.dict1 = {"a": 1, "b": 2}
dict2 = {"b": 3, "c": 4}
dict1.update(dict2)
print(dict1)
Väljund: {'a': 1, 'b': 3, 'c': 4}
Selles näites, kuna võti "b"
eksisteerib mõlemas sõnastikus, asendati dict1
väärtus dict2
väärtusega. Uus võti "c"
lisati dict1
-le.Kuidas vältida ülekirjutamist
Kui soovite vältida ülekirjutamist sõnastike ühendamisel, võite kombineeridasetdefault()
ja for-tsükli.for key, value in dict2.items():
dict1.setdefault(key, value)
print(dict1)
Väljund: {'a': 1, 'b': 2, 'c': 4}

5. Rakenduslikud tehnikad: elementide lisamine tingimuste alusel
Tegelikus arenduses võib esineda olukordi, kus elemente lisatakse sõnastikku tingimuste alusel. Näiteks, kui lisada sõnastikku ainult need elemendid, mis vastavad kindlale tingimusele, saab kasutadaif
-lauset ja for
-tsüklit elementide dünaamiliseks lisamiseks.Näide elementide lisamisest tingimuste alusel
Järgnevas koodis lisatakse sõnastikku ainult need puuviljad, mille hind vastab kindlale kriteeriumile.items = [("apple", 100), ("banana", 150), ("cherry", 200)]
fruit_dict = {}
for fruit, price in items:
if price > 120:
fruit_dict[fruit] = price
print(fruit_dict)
Väljund: {'banana': 150, 'cherry': 200}
Selles näites lisatakse sõnastikku ainult need puuviljad, mille hind ületab 120. Tingimuste alusel sõnastikku elementide lisamisel on võimalik teha sellist paindlikku töötlemist.6. Sõnastiku operatsioonide veahaldus
Sõnastikku manipuleerides tekib sageli vigaKeyError
. Kui määratud võti ei eksisteeri sõnastikus, tekib see viga. Vea vältimiseks on tavaliselt kas kontrollida võtme olemasolu või kasutada get()
meetodit.KeyError
vältimise meetod
Järgmine näide näitab, kuidas vältida viga get()
meetodi kasutamisega.value = my_dict.get("pear", "Võti ei eksisteeri")
print(value)
Väljund: Võti ei eksisteeri
Nii saad, isegi kui proovite ligipääsu olematule võtmele, viga ei teki ja tagastatakse vaikimisi väärtus.7. Kokkuvõte: Sõnastiku lisamise parimad tavad
Pythoni sõnastikku elementide lisamise meetodid ulatuvad lihtsast lisamisest kuni keerukate ühenduste ja tingimuslike lisamisteni. Kui hoiate silmas järgmisi punkte, saate sõnastiku operatsioone tõhusamalt teha.- Lihtne lisamine:
[võti] = väärtus
abil lisatakse lihtsalt. - Ülekirjutuse vältimine:
setdefault()
kasutades vältida soovimatut ülekirjutamist. - Mitme sõnastiku ühendamine:
update()
abil lisatakse elemente tõhusalt. - Vea käsitlemine:
KeyError
vältimiseks kasutatakseget()
või olemasolu kontrolli.