Pythoni sõnastiku elementide lisamise täielik juhend

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, kasutage setdefault() 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 kasutada update() 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 kombineerida setdefault() ja for-tsükli.
for key, value in dict2.items():
dict1.setdefault(key, value)
print(dict1)

Väljund: {'a': 1, 'b': 2, 'c': 4}
RUNTEQ(ランテック)|超実戦型エンジニア育成スクール

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 kasutada if-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 viga KeyError. 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 kasutatakse get() või olemasolu kontrolli.
Nende meetodite kasutamisega muutub Pythoni sõnastiku operatsioon veel sujuvamaks.
侍エンジニア塾