6. Sõnastikud

  1. Mis on sõnastik?
  2. Loomine:
  3. Ligipääs ja muutmine:
  4. Elementide eemaldamine
  5. Iteratsioon sõnastiku elementidel:
  6. Põhimeetodid:
  7. Näide sõnastiku loomisest listist:
  8. Sõnastiku kasutamine:
  9. Kokkuvõte:
  10. Python Text-to-Speech (TTS)
    1. pyttsx3 (Offline)
    2. gTTS + playsound (Online)
    3. Näide: Kahekeelne sõnastik ja TTS

Mis on sõnastik?

Sõnastik (dictionary) on võtme-väärtuse paaride kogum, kus andmetele ligipääs toimub võtme kaudu.

Loomine:

  • Tühi sõnastik:
andmed = {}
  • Algväärtustega:
andmed = {'nimi': 'Mari', 'vanus': 25}
  • dict() abil:
andmed = dict(nimi='Mari', vanus=25)

Ligipääs ja muutmine:

  • Väärtus võtme kaudu:
andmed['nimi']
  • Turvaline ligipääs get() abil:
andmed.get('aadress', 'Puudub')
  • Väärtuse muutmine:
 andmed['nimi'] = 'Kati'
  • Uue paari lisamine:
andmed['email'] = 'kati@example.com'

Elementide eemaldamine

del andmed['vanus']
andmed.pop('keel')

Iteratsioon sõnastiku elementidel:

  • Võtmete läbikäik:
for võti in andmed: 
    print(võti)
  • Võtme ja väärtuse läbikäik:
for võti, väärtus in andmed.items(): 
    print(võti, väärtus)

Põhimeetodid:

  • get(võti, vaikimisi)
  • keys() — võtmete list
  • values() — väärtuste list
  • items() — võtme-väärtuse paarid
  • update(teine_sõnastik) — lisab või uuendab
  • pop(võti) — eemaldab ja tagastab väärtuse
  • clear() — tühjendab sõnastiku

Näide sõnastiku loomisest listist:

read = ["Mis on Python?:programmeerimiskeel", "Eesti pealinn?:Tallinn"]
kus_vas = {}
for rida in read:
    kysimus, vastus = rida.split(':')
    kus_vas[kysimus.strip()] = vastus.strip()

Kontroll, kas võti on olemas:

if "nimi" in andmed:
    print('Võti olemas!')

Sõnastiku kasutamine:

  • Kiire ligipääs tõlgetele
  • Mugav andmete muutmine ja haldamine

Kokkuvõte:

  • dict() salvestab andmed võtme ja väärtusena
  • Kiire ligipääs võtme kaudu
  • Lihtne lisada, muuta, kustutada
  • Väga kasulik konfiguratsiooni, kasutajaandmete jm puhul

Python Text-to-Speech (TTS)

Kaks peamist moodulit:

pyttsx3 (offline, ilma internetita)

gTTS + playsound (online, Google teenus)


pyttsx3 (Offline)

Paigaldamine:

pip install pyttsx3

Näide:

import pyttsx3

def raagi(tekst):
    mootor = pyttsx3.init()
    mootor.say(tekst)
    mootor.runAndWait()

Plussid: töötab ilma internetita, kiire, ei salvesta faile
Miinused: hääl robotlik, keeletugi piiratud

gTTS + playsound (Online)

Paigaldamine:

pip install gTTS playsound

Näide:

from gtts import gTTS
from playsound import playsound

def raagi(tekst, keel='et'):
    obj = gTTS(text=tekst, lang=keel, slow=False)
    fail = "heli.mp3"
    obj.save(fail)
    playsound(fail)

Plussid: hea kvaliteet, palju keeli
Miinused: internet vajalik, salvestab faili

Keelekoodid gTTS jaoks:
‘eT’ – eesti, ‘ru’ – vene, ‘en’ – inglise, ’de’ – saksa, ‘fi’ – soome

Näide: Kahekeelne sõnastik ja TTS

sonastik = {'koer': 'собака', 'kass': 'кошка'}

raagi('koer', 'et')
raagi(sonastik['koer'], 'ru')

JÄRGMINE TEEMA