Prieš nerdami į „KeyError“ , svarbu žinoti, kaip yra sukurtas žodynas „python“. Šiame straipsnyje bus aptariami šie patarimai:
Žodynas „Python“
The „Python“ sąvoka yra atsitiktinis reikšmių rinkinys, kuriame saugomos duomenų vertės, pavyzdžiui, žemėlapis. Skirtingai nuo kitų duomenų tipų, kuriuose elementas yra tik viena reikšmė. Jame yra raktas: vertės pora.
Pagrindinė vertė daro ją efektyvesnę. Dvitaškis skiria raktą ir reikšmės porą, o kablelis - kiekvieną raktą. Šis python žodynas veikia panašiai kaip įprastas žodynas. Atitinkami raktai turėtų būti unikalūs ir nekintamų duomenų tipų, tokių kaip eilutės, sveiki skaičiai ir rinkiniai, tačiau raktų reikšmės gali būti kartojamos ir gali būti bet kokio tipo. Gali būti raktai, tai yra eilutės, nurodančios skaičius ir atvirkščiai.
Pažvelkime, kaip veikia žodynas, naudodamas žemiau užkoduotą pavyzdį.
# Tuščio žodyno sukūrimas Dict = {} print ('Null dict:') print (Dict) # Žodyno kūrimas su sveikaisiais klavišais Dict = {1: 'Fun', 2: 'And', 3: 'Frolic'} print ( 'nDictionary su sveikaisiais klavišais:') print (Dict) # Žodyno kūrimas naudojant mišrius klavišus Dict = {'Name': 'Arun', 1: [12, 23, 34, 45]} print ('nDictionary with the mišrių klavišų naudojimas: ') print (Dict) # Žodyno su dict () metodu sukūrimas Dict = dict ({1:' vokiečių ', 2:' kalba ', 3:' yra smagu '}) print (' nDictionary with dict (): ') print (Dict) naudojimas # Žodynas, kuriame kiekvienas elementas yra porinis Dict = dict ([(1,' Hello '), (2,' Bye ')]) print (' nDictionary with each elementas poroje: ') print (Dict)
„KeyError“ sistemoje „Python“
Kadangi mums aišku, kas yra „python“ žodynas ir kaip jis veikia. Dabar pažiūrėkime, kokia yra pagrindinė klaida. „KeyError“ sistemoje „Python“ iškyla, kai bandote pasiekti raktą, kurio nėra žodyne.
Žemėlapių logika yra duomenų struktūra, kuri atvaizduoja vieną duomenų rinkinį kitiems reikšmingiems. Vadinasi, tai yra klaida, kuri iškyla pasiekus žemėlapį ir nerandant. Tai yra įprasta paieškos klaida, kai semantinė klaida būtų nurodyta kaip raktas, kurio ieškote, jo atmintyje nerandama. Tai galima geriau parodyti žemiau esančiame kode.
pagrindinės duomenų struktūros java
Čia bandau pasiekti raktą pavadinimu „D“, kurio nėra žodyne. Taigi klaida išmetama, kai tik randama išimtis. Tačiau likusiuose žodyne esančiuose klavišuose, kurie yra tinkamai atspausdinti, yra tikslios reikšmės.
// age = {'A': 30, 'B': 28, 'C': 33} print (amžiaus ['A']) print (amžiaus ['B']) print (amžiaus ['C']) spausdinti (amžius ['D']) //
„KeyError“ „Python“ tvarkymo mechanizmas
Kiekvienas, susidūręs su „KeyError“, gali elgtis atsakingai. Jo įgūdis yra apsvarstyti visus įmanomus tam tikros programos įnašus ir sėkmingai tvarkyti visus nesaugius įrašus.
Priklausomai nuo jūsų naudojimo atvejo, kai kurie iš šių sprendimų gali būti geresni arba gali būti ne tie, kurių ieškote. Nepaisant to, pagrindinis tikslas yra sustabdyti netikėtų pagrindinių klaidų išimčių atsiradimą.
Jei klaida pateikiama iš žodyno jūsų pačių kode, naudokite .get (), jei norite išskleisti reikšmę nurodytu raktu arba numatytąją vertę. Pažvelkime į pavyzdį.
// Vaisių sąrašas ir jų kainos. while (1): vaisiai = {'Obuolys': 300, 'Papaja': 128, 'Kiwi': 233} vaisiai = įvestis ('Gauti kainą:') vaisiai1 = vaisiai.get (vaisiai) jei vaisiai1: spausdinti ( f '{fruit} yra {fruit1} rupija.') else: print (f '{fruit} kaina nežinoma.')
Bendras „KeyError“ sprendimas
Įprastas sprendimas yra tas, kad visada galite naudoti bloką „try-išskyrus“, kad išspręstumėte tokias problemas pakeldami atitinkamą kodą ir pateikdami atsarginį sprendimą. Norėdami sužinoti daugiau, patikrinkite žemiau pateiktą kodą.
// while (1): age = {'Jophi': 12, 'Rao': 20, 'Irvin': 16} person = input ('Get age for:') try: print (f '{asmuo} yra { amžiaus [asmuo]} metų. ') išskyrus „KeyError“: spausdinti (f „{asmens} amžius nežinomas.“) //
Tuo mes baigėme šį „KeyError“ „Python“ straipsnyje. Tikiuosi, kad šis straipsnis buvo informatyvus, aiškinantis „Python“ „KeyError“ išimtį ir kaip ją būtų galima iškelti. Be to, dabar galite žinoti, kad tuo atveju, jei problema yra žodyno raktų paieška savo kode, galite pereiti nuo prieigos prie rakto tiesiai žodyne prie metodo .get () su numatytąja grąžinimo verte.
Jei problema kyla ne dėl jūsų paties kodo, naudokite bloką „try-išskyrus“, kad geriau valdytumėte savo kodo srautą.
Norėdami gauti išsamių žinių apie „Python“ kartu su įvairiomis jo programomis, galite tiesioginėms internetinėms treniruotėms, palaikančioms visą parą visą parą ir visą gyvenimą.
Turite mums klausimą? Paminėkite juos komentarų skyriuje „KeyError Python“ ir mes su jumis susisieksime.