Co to jest KeyError w Pythonie? Słownik i obsługa



W tym artykule znajdziesz szczegółową i wszechstronną wiedzę o tym, jak rozwiązać KeyError w Pythonie w słowniku.

Zanim zagłębimy się w KeyError w , ważne jest, aby wiedzieć, jak jest skonfigurowany słownik w Pythonie. W tym artykule zostaną omówione następujące wskazówki:

Słownik w Pythonie

Plik koncepcja w Pythonie to losowy zbiór wartości, który przechowuje wartości danych, takie jak mapa. W przeciwieństwie do innych typów danych, które zawierają tylko jedną wartość jako element. Zawiera parę klucz: wartość.





KeyError w Pythonie

Kluczowa wartość sprawia, że ​​jest bardziej wydajny. Dwukropek oddziela parę klucz i wartość, a „przecinek” oddziela każdy klucz. Ten słownik w Pythonie działa podobnie do zwykłego słownika. Odpowiednie klucze powinny być unikalne i niezmienne typy danych, takie jak ciągi, liczby całkowite i krotki, ale pary klucz-wartość mogą być iterowane i mogą być dowolnego typu. Mogą istnieć klucze, które są ciągami znaków odnoszącymi się do liczb i odwrotnie.



Przyjrzyjmy się, jak działa słownik, korzystając z poniższego zakodowanego przykładu.

# Tworzenie pustego słownika Dict = {} print ('Null dict:') print (Dict) # Tworzenie słownika z kluczami całkowitymi Dict = {1: 'Fun', 2: 'And', 3: 'Frolic'} print ( 'nDictionary przy użyciu kluczy całkowitych:') print (Dict) # Tworzenie słownika z kluczami mieszanymi Dict = {'Name': 'Arun', 1: [12, 23, 34, 45]} print ('nDictionary with the use of Mixed Keys: ') print (Dict) # Tworzenie słownika za pomocą metody dict () Dict = dict ({1:' German ', 2:' language ', 3:' is fun '}) print (' nDictionary with użycie dict (): ') print (Dict) # Słownik mający każdy element jako parę Dict = dict ([(1,' Hello '), (2,' Bye ')]) print (' nDictionary with each pozycja jako para: ') print (Dict)

KeyError w Pythonie

Ponieważ wiemy, czym jest słownik w Pythonie i jak działa. Zobaczmy teraz, jaki jest kluczowy błąd. KeyError w Pythonie jest wywoływany przy próbie uzyskania dostępu do klucza, którego nie ma w słowniku.



Logika mapowania to struktura danych, która odwzorowuje jeden zestaw danych na inne istotne. W związku z tym jest to błąd, który jest zgłaszany, gdy mapowanie jest dostępne i nie można go znaleźć. Znany jest błąd wyszukiwania, w którym błąd semantyczny zostałby określony, ponieważ szukanego klucza nie można znaleźć w jego pamięci. Można to lepiej zilustrować w poniższym kodzie.

które z poniższych są przykładami instrukcji sterujących?

Tutaj próbuję uzyskać dostęp do klucza o nazwie „D”, którego nie ma w słowniku. Dlatego błąd jest zgłaszany, gdy tylko znajdzie wyjątek. Jednak pozostałe klucze obecne w słowniku, które są poprawnie wydrukowane, mają dokładne wartości, które im odpowiadają.

// wiek = {'A': 30, 'B': 28, 'C': 33} print (wiek ['A']) print (wiek ['B']) print (wiek ['C']) print (age ['D']) //

Mechanizm obsługi błędu KeyError w Pythonie

Każdy, kto napotka KeyError, może sobie z tym poradzić w odpowiedzialny sposób. Jego umiejętnością jest rozważenie wszystkich możliwych danych wejściowych do określonego programu i pomyślne radzenie sobie z wszelkimi niepewnymi wpisami.

W zależności od przypadku użycia niektóre z tych rozwiązań mogą być lepsze lub mogą również nie być dokładnym rozwiązaniem, którego szukasz. Niemniej jednak ostatecznym celem jest powstrzymanie pojawiania się nieoczekiwanych wyjątków błędów kluczy.

Jeśli błąd pochodzi ze słownika w Twoim własnym kodzie, możesz użyć .get () w celu wyodrębnienia wartości z określonego klucza lub wartości domyślnej. Rzućmy okiem na próbkę.

// Lista owoców i ich ceny. while (1): owoce = {'Apple': 300, 'Papaya': 128, 'Kiwi': 233} fruit = input ('Get price for:') fruit1 = fruit.get (fruit) if fruit1: print ( f '{owoc} to {owoc1} rupii.') else: print (koszt f '{owoc} jest nieznany.')

Ogólne rozwiązanie KeyError

Zwykłym rozwiązaniem jest to, że zawsze możesz użyć bloku try-except, aby rozwiązać takie problemy, podnosząc odpowiedni kod i zapewniając rozwiązanie zapasowe. Sprawdź poniższy kod, aby uzyskać większą jasność.

// while (1): ages = {'Jophi': 12, 'Rao': 20, 'Irvin': 16} person = input ('Get age for:') try: print (f '{person} is { age [osoba]} lat. ') z wyjątkiem KeyError: print (f' {person} 'wiek jest nieznany.') //

W ten sposób dochodzimy do końca tego artykułu KeyError w Pythonie. Mam nadzieję, że ten artykuł był pouczający i rzucał światło na wyjątek KeyError w Pythonie i jak można go zgłosić. Ponadto możesz być teraz świadomy, że w przypadku, gdy problem polega na wyszukiwaniu kluczy w słowniku we własnym kodzie, możesz przełączyć się z dostępu do klucza bezpośrednio w słowniku na użycie metody .get () z domyślną wartością zwracaną.

Jeśli problem nie pochodzi z Twojego własnego kodu, użyj bloku try-except, aby lepiej kontrolować przepływ kodu.

Aby uzyskać dogłębną wiedzę o Pythonie i jego różnych aplikacjach, możesz do szkoleń online na żywo z całodobowym wsparciem i dożywotnim dostępem.

Masz do nas pytanie? Wspomnij o nich w sekcji komentarzy w „KeyError in Python”, a my skontaktujemy się z Tobą.