Mi a KeyError a Pythonban? Szótár és ezek kezelése



Ez a cikk részletes és átfogó ismereteket nyújt a KeyError Python szótárban történő megoldásáról.

Mielőtt belevetnénk magunkat a KeyError-ba , fontos tudni, hogyan állítják be a szótár a pythonban. A cikk a következő mutatókat tárgyalja:

Szótár Pythonban

Az A Python fogalma egy véletlenszerű értékgyűjtemény, amely olyan adatokat tárolt, mint egy térkép. Eltérően más adattípusoktól, amelyek csak egyetlen értéket tartalmaznak elemként. Tartja a kulcsot: értékpár.





KeyError a Pythonban

A kulcsérték hatékonyabbá teszi. A kettőspont elválaszt egy kulcs- és értékpárt, egy „vessző” pedig minden kulcsot. Ez a python szótár hasonlóan működik, mint egy normál szótár. A megfelelő kulcsoknak egyedieknek és változatlan adattípusúaknak kell lenniük, például karaktersorozatoknak, egész számoknak és tömböknek, de a kulcsértékek iterálhatók, és bármilyen típusúak lehetnek. Lehetnek kulcsok, amelyek karakterláncok, amelyek számokra utalnak, és fordítva.



Vessünk egy pillantást a szótár működésére az alább kódolt példán keresztül.

# Üres szótár létrehozása Dict = {} print ('Null dict:') print (Dict) # Szótár készítése egész kulcsokkal Dict = {1: 'Fun', 2: 'And', 3: 'Frolic'} print ( 'nDictionary egész számgombokkal:') print (Dict) # Szótár létrehozása vegyes billentyűkkel Dict = {'Név': 'Arun', 1: [12, 23, 34, 45]} print ('nDictionary a vegyes kulcsok használata: ') print (Dict) # Szótár létrehozása dict () módszerrel Dict = dict ({1:' német ', 2:' nyelv ', 3:' szórakoztató '}) print (' nDictionary with dict (): ') print (Dict) # Szótár, amelynek minden eleme páros Dict = dict ([(1,' Hello '), (2,' Bye ')]) print (' nDictionary mindegyiknél elem párban: ') print (Dict)

KeyError a Pythonban

Mivel tisztában vagyunk azzal, mi a szótár a pythonban, és hogyan működik. Most nézzük meg, mi a legfontosabb hiba. A KeyError a Pythonban akkor merül fel, amikor megpróbál elérni egy kulcsot, amely nem szerepel egy szótárban.



A leképezési logika olyan adatstruktúra, amely az egyik adatsort jelentős többiekhez térképezi fel. Ezért ez egy hiba, amely akkor merül fel, amikor a leképezést elérik, és nem találják meg. Ismerős egy olyan keresési hiba, ahol a szemantikai hibát megadják, mivel a keresett kulcs nem található meg a memóriájában. Ezt jobban szemlélteti az alábbi kód.

hogyan lehet összekapcsolt listát készíteni a c-ben

Itt megpróbálok elérni egy „D” nevű kulcsot, amely nincs a szótárban. Ennélfogva a hiba eldobásra kerül, amint talál egy kivételt. A szótárban fennmaradó, helyesen kinyomtatott kulcsoknak azonban pontosan megfelelnek az értékeik.

// age = {'A': 30, 'B': 28, 'C': 33} print (életkor ['A']) print (életkor ['B']) print (életkor ['C']) nyomtatás (korosztály ['D']) //

KeyError mechanizmusának kezelése a Pythonban

Bárki, aki KeyErrorral találkozik, felelősségteljes módon tudja kezelni. Képessége egy adott program minden lehetséges bemenetének megfontolása és a bizonytalan bejegyzések sikeres kezelése.

Felhasználási esetétől függően ezek a megoldások némelyikük jobbak lehetnek, vagy esetleg nem pontosan azok a megoldások, amelyeket keres. Ennek ellenére a végső cél a váratlan kulcshibák kivételének felbukkanásának megakadályozása.

Ha a saját kódjában lévő szótárból hibát hoznak, akkor a .get () segítségével kivonhatja a megadott kulcs vagy az alapértelmezett értéket. Nézzünk meg egy mintát.

// Gyümölcsök listája és áraik. while (1): fruits = {'Apple': 300, 'Papaya': 128, 'Kiwi': 233} fruit = input ('Get price for:') fruit1 = fruits.get (fruit) if fruit1: print ( f '{gyümölcs} {gyümölcs1} rúpia.') else: print (f '{gyümölcs} költsége nem ismert.')

A KeyError általános megoldása

A szokásos megoldás az, hogy mindig használhatja a try-kivétel blokkot az ilyen problémák megoldására a megfelelő kód emelésével és egy biztonsági mentési megoldással. Az egyértelműség érdekében nézze meg az alábbi kódot.

// while (1): age = {'Jophi': 12, 'Rao': 20, 'Irvin': 16} person = input ('Get age for:') try: print (f '{person} is { age [személy]} éves. ') kivéve KeyError: print (f' {személy} kora ismeretlen. ') //

Ezzel véget értünk ennek a KeyError-nak a Python cikkben. Remélem, hogy ez a cikk tájékoztató jellegű volt a Python KeyError kivételének megvilágításában és annak felvetésében. Most már tisztában lehet azzal, hogy ha a probléma egy szótár kulcs keresése a saját kódjában, akkor a kulcs közvetlen eléréséről a szótárban áttérhet a .get () metódusra alapértelmezett visszatérési értékkel.

Ha a probléma nem a saját kódjából származik, akkor használja a try-kivétel blokkot a kódfolyamat jobb ellenőrzéséhez.

Ha részletes ismereteket szeretne szerezni a Pythonról és annak különböző alkalmazásokról, megteheti élő online képzéshez 24/7 támogatással és egész életen át elérhető hozzáféréssel.

Van egy kérdésünk? Említse meg őket a „KeyError a Pythonban” megjegyzés rovatban, és mi kapcsolatba lépünk Önnel.