Τι είναι το KeyError στο Python; Λεξικό και χειρισμός τους



Αυτό το άρθρο θα σας δώσει μια λεπτομερή και περιεκτική γνώση του τρόπου επίλυσης του KeyError στο Python στο Λεξικό.

Πριν μπείτε στο KeyError στο , είναι σημαντικό να γνωρίζετε πώς δημιουργείται ένα λεξικό στο python. Οι ακόλουθοι δείκτες θα συζητηθούν σε αυτό το άρθρο:

Λεξικό στο Python

ο Το concept στο Python είναι μια τυχαία συλλογή τιμών, η οποία έχει αποθηκεύσει τιμές δεδομένων όπως ένα χάρτη. Σε αντίθεση με άλλους τύπους δεδομένων που έχουν μόνο μία τιμή ως στοιχείο. Κρατά το κλειδί: ζεύγος τιμών.





KeyError στο Python

Η βασική τιμή το καθιστά πιο αποτελεσματικό. Ένα άνω και κάτω τελεία διαχωρίζει ένα ζεύγος κλειδιών και τιμών και ένα «κόμμα» διαχωρίζει κάθε κλειδί. Αυτό το λεξικό στο python λειτουργεί παρόμοιο με ένα κανονικό λεξικό. Τα αντίστοιχα κλειδιά πρέπει να είναι μοναδικά και αμετάβλητα τύπων δεδομένων, όπως συμβολοσειρές, ακέραιοι και πλειάδες, αλλά οι τιμές-κλειδιά μπορούν να επαναληφθούν και επιτρέπεται να είναι οποιουδήποτε τύπου. Μπορεί να υπάρχουν κλειδιά, που είναι συμβολοσειρές που αναφέρονται σε αριθμούς και το αντίστροφο.



Ας ρίξουμε μια ματιά στο πώς λειτουργεί ένα λεξικό μέσω του παρακάτω κωδικοποιημένου παραδείγματος.

# Δημιουργία ενός κενού λεξικού Dict = {} εκτύπωση ('Null υπαγόρευση:') εκτύπωση (Dict) # Δημιουργία λεξικού με ακέραια πλήκτρα Dict = {1: 'Fun', 2: 'And', 3: 'Frolic'} print ( 'nDictionary με τη χρήση ακέραιων κλειδιών:') εκτύπωση (Dict) # Δημιουργία λεξικού με μικτά πλήκτρα Dict = {'Όνομα': 'Arun', 1: [12, 23, 34, 45]} εκτύπωση ('nDictionary with the χρήση Μεικτών Κλειδιών: ') print (Dict) # Δημιουργία λεξικού με μέθοδο (() Dict = υπαγόρευση ({1:' Γερμανικά ', 2:' γλώσσα ', 3:' είναι διασκεδαστικό '}) εκτύπωση (' nDictionary with η χρήση της εντολής ((): ') εκτύπωσης (Dict) # Ένα λεξικό που έχει κάθε στοιχείο ως ζεύγος Dict = υπαγόρευση ([(1, «Γεια»), (2, «Bye»)]) εκτύπωση («nDictionary με κάθε αντικείμενο ως ζεύγος: ') εκτύπωση (Dict)

KeyError στο Python

Επειδή είμαστε ξεκάθαροι για το τι είναι ένα λεξικό στο python και πώς λειτουργεί. Τώρα ας δούμε τι είναι ένα βασικό σφάλμα. Το KeyError στο Python αυξάνεται όταν προσπαθείτε να αποκτήσετε πρόσβαση σε ένα κλειδί που δεν βρίσκεται σε λεξικό.



Η λογική χαρτογράφησης είναι μια δομή δεδομένων που χαρτογραφεί ένα σύνολο δεδομένων σε σημαντικά άλλα. Ως εκ τούτου, είναι ένα σφάλμα, το οποίο προκύπτει όταν η χαρτογράφηση έχει πρόσβαση και δεν εντοπιστεί. Είναι γνωστό σε ένα σφάλμα αναζήτησης όπου το σημασιολογικό σφάλμα θα αναφέρεται ως το κλειδί που ψάχνετε δεν πρέπει να βρεθεί στη μνήμη του. Αυτό μπορεί να απεικονιστεί καλύτερα στον παρακάτω κώδικα.

αναπτυσσόμενο μενού σε angularjs

Εδώ προσπαθώ να αποκτήσω πρόσβαση σε ένα κλειδί που ονομάζεται 'D' που δεν υπάρχει στο λεξικό. Ως εκ τούτου, το σφάλμα ρίχνεται μόλις βρεθεί μια εξαίρεση. Ωστόσο, τα υπόλοιπα κλειδιά που υπάρχουν στο λεξικό, τα οποία εκτυπώνονται σωστά, έχουν τις ακριβείς τιμές που αντιστοιχούν σε αυτά.

// age = {'A': 30, 'B': 28, 'C': 33} εκτύπωση (ηλικίες ['A']) εκτύπωση (ηλικίες ['B']) εκτύπωση (ηλικίες ['C']) εκτύπωση (ηλικίες ['D']) //

Μηχανισμός χειρισμού για KeyError στο Python

Όποιος συναντήσει ένα KeyError μπορεί να το χειριστεί με υπεύθυνο τρόπο. Είναι η ικανότητά του να εξετάζει όλες τις πιθανές εισόδους σε ένα συγκεκριμένο πρόγραμμα και να χειρίζεται τυχόν επισφαλείς καταχωρήσεις με επιτυχία.

Ανάλογα με την περίπτωση χρήσης σας, μερικές από αυτές τις λύσεις μπορεί να είναι καλύτερες ή μπορεί επίσης να μην είναι η ακριβής λύση που αναζητάτε. Παρ 'όλα αυτά, ο απώτερος στόχος είναι να σταματήσουμε να αναδύονται απροσδόκητες εξαιρέσεις κλειδιών.

Εάν προκύψει σφάλμα από ένα λεξικό στον δικό σας κωδικό, μπορείτε να χρησιμοποιήσετε το .get () για να εξαγάγετε είτε την τιμή στο καθορισμένο κλειδί είτε μια προεπιλεγμένη τιμή. Ας ρίξουμε μια ματιά σε ένα δείγμα.

// Κατάλογος των φρούτων και των τιμών τους. ενώ (1): φρούτα = {'Apple': 300, 'Papaya': 128, 'Kiwi': 233} fruit = input ('Get price for:') fruit1 = fruit.get (fruit) if fruit1: print ( f '{fruit} είναι {fruit1} rupee.') άλλο: print (f '{fruit} το κόστος είναι άγνωστο.')

Μια γενική λύση στο KeyError

Η συνήθης λύση είναι ότι μπορείτε πάντα να χρησιμοποιήσετε το μπλοκ try-εκτός για την αντιμετώπιση τέτοιων προβλημάτων αυξάνοντας τον κατάλληλο κώδικα και παρέχοντας μια εφεδρική λύση. Ελέγξτε τον παρακάτω κώδικα για περισσότερη σαφήνεια.

// ενώ (1): ηλικίες = {'Jophi': 12, 'Rao': 20, 'Irvin': 16} person = input ('Get age for:') try: print (f '{person} είναι { ηλικίες [άτομο]} ετών. ') εκτός KeyError: print (f' {person} Η ηλικία είναι άγνωστη. ') //

Με αυτό, φτάνουμε στο τέλος αυτού του άρθρου KeyError στο Python. Ελπίζω ότι αυτό το άρθρο ήταν ενημερωτικό για να ρίξει φως στην εξαίρεση KeyError της Python και πώς θα μπορούσε να προβληθεί. Επίσης, ίσως γνωρίζετε τώρα ότι σε περίπτωση που το πρόβλημα είναι μια αναζήτηση κλειδιού λεξικού στον δικό σας κωδικό, τότε μπορείτε να αλλάξετε από την πρόσβαση στο κλειδί απευθείας στο λεξικό στη χρήση της μεθόδου .get () με μια προεπιλεγμένη τιμή επιστροφής.

Εάν το πρόβλημα δεν προέρχεται από τον δικό σας κωδικό, τότε χρησιμοποιήστε το μπλοκ try-kecuali για καλύτερο έλεγχο της ροής του κωδικού σας.

Για να μάθετε σε βάθος την Python μαζί με τις διάφορες εφαρμογές της, μπορείτε για ζωντανή διαδικτυακή εκπαίδευση με 24ωρη υποστήριξη και πρόσβαση σε όλη τη διάρκεια ζωής.

Έχετε μια ερώτηση για εμάς; Αναφέρετέ τα στην ενότητα σχολίων του 'KeyError in Python' και θα επικοινωνήσουμε μαζί σας.