KeyError trong Python là gì? Từ điển và Xử lý chúng



Bài viết này sẽ cung cấp cho bạn kiến ​​thức chi tiết và toàn diện về cách giải quyết KeyError trong Python trong Từ điển.

Trước khi chúng ta đi sâu vào KeyError trong , điều quan trọng là phải biết cách thiết lập từ điển trong python. Các gợi ý sau sẽ được thảo luận trong bài viết này:

Từ điển bằng Python

Các khái niệm trong Python là một tập hợp các giá trị ngẫu nhiên, có các giá trị dữ liệu được lưu trữ giống như một bản đồ. Nó không giống như các kiểu dữ liệu khác chỉ chứa một giá trị duy nhất như một phần tử. Nó chứa cặp key: value.





KeyError bằng Python

Giá trị quan trọng giúp nó hoạt động hiệu quả hơn. Dấu hai chấm phân tách cặp khóa và giá trị và dấu 'phẩy' phân tách từng khóa. Từ điển này trong python hoạt động tương tự như một từ điển bình thường. Các khóa tương ứng phải là duy nhất và thuộc kiểu dữ liệu bất biến như chuỗi, số nguyên và bộ giá trị, nhưng khóa-giá trị có thể được lặp lại và được phép thuộc bất kỳ loại nào. Có thể có các phím, là các chuỗi tham chiếu đến số và ngược lại.



Chúng ta hãy cùng xem từ điển hoạt động như thế nào thông qua ví dụ được mã hóa dưới đây.

# Tạo từ điển trống Dict = {} print ('Null dict:') print (Dict) # Tạo từ điển bằng phím số nguyên Dict = {1: 'Fun', 2: 'And', 3: 'Frolic'} print ( 'nDictionary với việc sử dụng các phím số nguyên:') print (Dict) # Tạo từ điển với các phím hỗn hợp Dict = {'Name': 'Arun', 1: [12, 23, 34, 45]} print ('nDictionary với sử dụng các phím hỗn hợp: ') print (Dict) # Tạo từ điển với phương thức dict () Dict = dict ({1:' German ', 2:' language ', 3:' is fun '}) print (' nDictionary with việc sử dụng dict (): ') print (Dict) # Một Từ điển có mỗi mục là một Cặp Dict = dict ([(1,' Hello '), (2,' Bye ')]) print (' nDictionary với mỗi item dưới dạng một cặp: ') print (Dict)

KeyError bằng Python

Vì chúng ta đã rõ từ điển trong python là gì và nó hoạt động như thế nào. Bây giờ chúng ta hãy xem lỗi chính là gì. KeyError trong Python xuất hiện khi bạn cố gắng truy cập vào một khóa không có trong từ điển.



Logic ánh xạ là một cấu trúc dữ liệu ánh xạ một bộ dữ liệu tới những bộ dữ liệu quan trọng khác. Do đó, đó là một lỗi, được phát sinh khi ánh xạ được truy cập và không tìm thấy. Lỗi tra cứu quen thuộc trong đó lỗi ngữ nghĩa sẽ được nêu là khóa bạn đang tìm không được tìm thấy trong bộ nhớ của nó. Điều này có thể được minh họa rõ hơn trong đoạn mã dưới đây.

trình theo dõi công việc và trình theo dõi tác vụ trong hadoop

Ở đây tôi đang cố gắng truy cập một khóa có tên là “D” không có trong từ điển. Do đó, lỗi được ném ra ngay khi nó tìm thấy một ngoại lệ. Tuy nhiên, các khóa còn lại có trong từ điển, được in chính xác, có giá trị chính xác tương ứng với chúng.

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

Cơ chế xử lý lỗi KeyError trong Python

Bất kỳ ai gặp phải KeyError đều có thể xử lý nó một cách có trách nhiệm. Đó là kỹ năng của anh ấy để xem xét tất cả các đầu vào có thể có cho một chương trình nhất định và xử lý thành công bất kỳ mục nhập bấp bênh nào.

Tùy thuộc vào trường hợp sử dụng của bạn, một số giải pháp trong số này có thể tốt hơn hoặc cũng có thể không phải là giải pháp chính xác mà bạn đang tìm kiếm. Tuy nhiên, mục tiêu cuối cùng là ngăn các ngoại lệ lỗi chính không mong muốn xuất hiện.

Nếu lỗi được đưa đến từ từ điển trong mã của riêng bạn, bạn có thể sử dụng .get () để trích xuất giá trị tại khóa được chỉ định hoặc giá trị mặc định. Hãy để chúng tôi có một cái nhìn vào một mẫu.

// Danh sách các loại trái cây và giá của chúng. while (1): results = {'Apple': 300, 'Papaya': 128, 'Kiwi': 233} fruit = input ('Nhận giá cho:') fruit1 = fruit.get (trái cây) if fruit1: print ( f '{fruit} là {fruit1} rupee.') else: print (f '{fruit}' s giá không xác định. ')

Một giải pháp chung cho KeyError

Giải pháp thông thường là bạn luôn có thể sử dụng khối thử ngoại trừ để giải quyết các vấn đề như vậy bằng cách nâng cao mã thích hợp và cung cấp giải pháp dự phòng. Kiểm tra mã dưới đây để rõ ràng hơn.

// while (1): age = {'Jophi': 12, 'Rao': 20, 'Irvin': 16} person = input ('Lấy tuổi cho:') try: print (f '{person} is { age [person]} tuổi. ') ngoại trừ KeyError: print (f' {person} 's age is notnown.') //

Với điều này, chúng ta sẽ kết thúc bài viết KeyError trong Python này. Tôi hy vọng bài viết này có nhiều thông tin trong việc làm sáng tỏ ngoại lệ KeyError của Python và cách nâng cấp nó. Ngoài ra, bây giờ bạn có thể biết rằng trong trường hợp vấn đề là tra cứu khóa từ điển trong mã của riêng bạn, thì bạn có thể chuyển từ truy cập khóa trực tiếp trên từ điển sang sử dụng phương thức .get () với giá trị trả về mặc định.

Nếu sự cố không đến từ mã của riêng bạn, thì hãy sử dụng khối thử loại trừ để kiểm soát luồng mã của bạn tốt hơn.

Để có kiến ​​thức chuyên sâu về Python cùng với các ứng dụng khác nhau của nó, bạn có thể để được đào tạo trực tuyến trực tiếp với hỗ trợ 24/7 và quyền truy cập trọn đời.

Có một câu hỏi cho chúng tôi? Đề cập đến chúng trong phần nhận xét của “KeyError trong Python” và chúng tôi sẽ liên hệ lại với bạn.