Hướng dẫn how do i fix keyerror 0 python with a dictionary? - làm cách nào để sửa lỗi keyerror 0 python bằng từ điển?

Trong bài viết này, chúng tôi sẽ xử lý lỗi chính, đây là một ví dụ về lỗi thời gian chạy; Cú pháp của mã có thể hoạt động chính xác, nhưng trong quá trình thực hiện chương trình, chương trình không thể xử lý nó do lỗi thời gian chạy của lỗi chính.

Lỗi chính là gì?

1. Lỗi chính, đó là loại lỗi thời gian chạy xảy ra khi không thể đặt khóa trong Từ điển 2. Từ điển: Thuật ngữ "Từ điển" đề cập đến một bộ sưu tập các đối tượng chưa được phân loại liên quan đến các khóa loại dữ liệu. Chúng còn được gọi là mảng kết hợp và là phiên bản cấu trúc dữ liệu của Python. Chúng được tạo thành từ các cặp giá trị khóa, với mỗi cặp ánh xạ khóa theo giá trị tương ứng của nó.
2. Dictionary: The term "dictionary" refers to an unsorted collection of objects that deal with data type keys. They are also known as associative arrays and are Python's version of data structures. They're made up of key-value pairs, with each pair mapping the key to its corresponding value.

Đọc thêm: Những cách khác nhau để tìm căn bậc hai trong PythonDifferent ways to find Square Root in Python

Có năm phương pháp chính để xử lý một "keyerror" trong Python; Hãy xem chúng

Phương pháp 1: Nhận phương pháp

Phương pháp này là hiệu quả để xử lý các lỗi chính; Nó hoạt động với một từ điển bằng cách trả về giá trị của khóa. Mặc định thường được trả lại khi khóa được nhắc không thể được định vị. Trong trường hợp, một giá trị mặc định không được xuất ra. Mặc định là không có. Do đó, các điều kiện này đảm bảo rằng trong quá trình thực hiện chương trình, lỗi chính không xảy ra. Dưới đây là cách thực hiện phương thức Get.

 employeeage = {'ken': 40, 'jade': 26, 'mark': 50}
employee = input["Get employee age for: "]
employeeage = employeeage.get[employee]

if employeeage:
    print[f'{employee} is {employeeage} years old.']
else:
    print[f"{employee}'s age is unknown."]

Đầu ra: Nhận tuổi nhân viên cho: tuổi của John John không được biết. Trong chương trình này, chúng tôi có thể truy cập vào độ tuổi của nhân viên dựa trên các khóa của họ được chỉ định trong Từ điển [SexpareEage]. Trong trường hợp này, chúng tôi không có độ tuổi cho John do đó không có [phương pháp], chúng tôi sẽ gặp lỗi chính nhưng sử dụng phương pháp GET, chúng tôi nhắc chương trình lấy trực tiếp tuổi hơn là chìa khóa. Vì không có độ tuổi được gán cho một khóa cho John, nên nó xuất ra [không xác định] thay vì lỗi chính.
Get employee age for: john
john's age is unknown.


In this program we can be able to access the ages of employees based on their keys assigned in the dictionary [employeeage]. In this case, we don’t have an age for john hence without [get method] we will get a key error but using the get method we prompt the program to fetch the age itself directly rather than the key. Since there is no age assigned to a key for john, it outputs [unknown] rather than a key error.

Phương pháp 2: Phương pháp Khối Try-Except

Như được thực hiện trong chương trình dưới đây, đây là một phương pháp đơn giản và dễ dàng để thực hiện. Trong khi sử dụng một vòng lặp, lần lặp thường xảy ra trong quá trình thực hiện chương trình. Trong trường hợp nó gặp lỗi, chương trình dừng trong trường hợp bạn muốn kiểm tra các giá trị trong từ điển và bạn không chắc chắn về các giá trị chính; Sử dụng phương thức Try-Except là hữu ích. Phương thức này ngăn chặn chương trình dừng trong quá trình thực hiện và chương trình bỏ qua và thử các giá trị tiếp theo trong vòng lặp. Việc thực hiện mã là ví dụ tốt nhất để giới thiệu cách thức hoạt động của nó.
This method prevents the program from stopping during execution, and the program skips and tries the next values in the loop.
The code execution is the best example to showcase how it works.

 d = {1: 7, 7: 6}
for i in range[1, 10]:
    try:
        print[d[i]]
    except KeyError:
        var = 0

Đầu ra: 7 6
7
6

NB Không có lỗi khóa nào được trả về vì Except cố gắng ngăn chặn chương trình dừng vì việc thực thi chỉ xuất ra các giá trị chính có mặt [7 và 6] và không nhắc nhở dừng thực thi khi các khóa khác như [4,5,8 .] Đã vắng mặt.

Phương pháp 3: Trong phương pháp vận hành

• Khi thực hiện một chương trình có từ điển và khóa, việc hiểu các giá trị và khóa của chúng là rất quan trọng • Do đó khi kiểm tra một phạm vi cụ thể của các giá trị tồn tại trong từ điển sử dụng toán tử có hiệu lực vì nó sẽ trả về các giá trị chỉ tồn tại mà không cần nhắc nhở KeyError • Chúng ta hãy xem đoạn mã bên dưới
• hence when checking a specific range of values existing in a dictionary use of IN operator is effective since it will return the values that are only existing without prompting the keyerror
• Let's have a look at the code snippet below

 d = {1: 7, 7: 6}
for i in range[1, 10]:
    if i  in d:
        print[d[i]]

Đầu ra: 7 6 • Trong chương trình này, chúng ta có thể xuất các phím 7,6 trong khi nhiều khóa khác không có mặt trong từ 1 đến 10
7
6

• In this program, we can output keys 7,6 while many other keys are not present in between 1 and 10

Phương pháp 4: Phương pháp Try-Except-Else

• Đây là một phương pháp khác để xử lý các ngoại lệ. Mẫu Try-Except-Else bao gồm ba khối: hãy thử, ngoại trừ, và nếu không. • Khi điều kiện thử không tạo ra một ngoại lệ, điều kiện khác trong câu lệnh Try-Except có lợi. Tuy nhiên, nó phải tuân thủ tất cả các ngoại lệ.
• When the try condition does not generate an exception, the else condition in a try-except statement is beneficial. It must, however, adhere to all of the exceptions.

 products = {'Pan': 10, 'cooker': 5, 'aluminium': 25}
item = input['Get product:']
try:
    print[f'The product  {item} is {products[item]}']
except KeyError:
    print[f'The product {item} is not known']
else:
    print[f'There is no error in the statement']

Đầu ra: Nhận sản phẩm: Tủ lạnh sản phẩm Fridgethe không được biết đến kết thúc với mã thoát.
Get product: fridge
The product fridge is not known
Process finished with exit code.

• Trong đoạn mã này, vì tủ lạnh chưa được chỉ định bất kỳ khóa nào, nên nó không phải là một phần của từ điển, bằng cách sử dụng phương pháp Expcept khác .

Phương pháp 5: Sử dụng phương pháp xử lý ngoại lệ

• Lợi ích của việc sử dụng phương pháp này là Python có nhiều chức năng tích hợp khác nhau có thể hữu ích khi xử lý các lỗi như lỗi chính. • Khi sử dụng phương pháp này, nó hiệu quả vì nếu khóa có 0 giá trị trong từ điển, sau đó sau khi chương trình thực thi, đầu ra sẽ không phải là khóa 0 • Hãy xem xét việc triển khai
• When using this method, it is efficient since if a key has 0 value in the dictionary, Then after the program executes, the output will not be a 0 key
• Let's have a look at the implementation

 employee_dict = {'Name': 'Morris', 'ID': 1}

try:
    employee_id = employee_dict['ID']
    print[employee_id]

    emp_dep = employee_dict['Department']
    print[emp_dep]
except KeyError as e:
    print['Key Not Found in Employee details:', e]

Đầu ra: 1 Không tìm thấy chính trong chi tiết nhân viên: 'Bộ'
1
Key Not Found in Employee details: 'Department'

Nhược điểm của các phương pháp sửa lỗi chính

• Xử lý ngoại lệ có thể không phát hiện các lỗi khác và chỉ phát hiện lỗi thời gian chạy chỉ trong trường hợp này. • Phương pháp Try-Except có thể tiêu tốn thời gian tính toán khi chạy chương trình khi bạn sử dụng phương pháp này. • Trong một chương trình có nhiều lỗi chính bằng cách sử dụng các phương thức này nhiều lần sẽ vô tổ chức và tăng các đoạn mã của chương trình của bạn. • Nó ảnh hưởng đến hiệu suất chung của chương trình và ràng buộc với các kịch bản cụ thể.
• Try-except method may cost the computation time of running the program once you use this method.
• In a program with many key errors using these methods multiple times will disorganize and increase code snippets of your program.
• It affects the general performance of the program and bound to specific scenarios.

PHẦN KẾT LUẬN

• Python, giống như nhiều ngôn ngữ lập trình khác, gặp gỡ các lỗi lập trình khác nhau, chẳng hạn như lỗi chính, là lỗi thời gian chạy. • Lỗi chính là do khóa không thể nằm trong từ điển. Một bản đồ từ điển về cơ bản các giá trị. • Trong một phạm vi của các giá trị, trong toán tử, rất hữu ích để tránh trả về một lỗi chính vì nó chỉ xuất ra các giá trị. • Hãy thử ngoại trừ và các phương thức khác được sử dụng để ngăn chặn việc thực thi chương trình cúi xuống do lỗi chính. • Các phương pháp này có thể làm chậm hiệu suất của chương trình cũng như thêm nhiều đoạn mã hơn cho chương trình của bạn.
• A key error is caused when a key cannot be located in a dictionary. A dictionary maps keys to values basically.
• Within a range of values, IN operator, is helpful to avoid returning a key error since it outputs only values present.
• Try except and else Methods are used to prevent the program execution from stooping due to a key error.
• These methods may slow down the performance of a program as well as add more code snippets for your program.

Làm cách nào để sửa KeyError trong Python?

Cách sửa KeyError trong Python. Để tránh KeyError trong Python, các khóa trong từ điển nên được kiểm tra trước khi sử dụng chúng để lấy các vật phẩm. Điều này sẽ giúp đảm bảo rằng chính tồn tại trong từ điển và chỉ được sử dụng nếu có, do đó tránh KeyError. Điều này có thể được thực hiện bằng cách sử dụng từ khóa.keys in a dictionary should be checked before using them to retrieve items. This will help ensure that the key exists in the dictionary and is only used if it does, thereby avoiding the KeyError . This can be done using the in keyword.

Làm thế nào để bạn xử lý các lỗi chính trong từ điển?

Một KeyError Python được nâng lên khi bạn cố gắng truy cập một mục trong một từ điển không tồn tại. Bạn có thể sửa lỗi này bằng cách sửa đổi chương trình của mình để chọn một mục từ một từ điển tồn tại. Hoặc bạn có thể xử lý lỗi này bằng cách kiểm tra xem trước đó có tồn tại chính không.modifying your program to select an item from a dictionary that does exist. Or you can handle this error by checking if a key exists first.

Chúng ta có thể cập nhật khóa trong từ điển Python không?

Phương thức cập nhật từ điển Python [] Phương thức Nó chèn khóa/giá trị nếu nó không có.Nó cập nhật khóa/giá trị nếu nó đã có trong từ điển.Nó cũng cho phép có thể lặp lại các cặp khóa/giá trị để cập nhật từ điển.Giống như: Cập nhật [A = 10, B = 20], v.v.It updates key/value if it is already present in the dictionary. It also allows an iterable of key/value pairs to update the dictionary. like: update[a=10,b=20] etc.

Làm thế nào để bạn nhận được một giá trị từ một từ điển theo cách không làm tăng ngoại lệ cho các khóa bị thiếu?

Để tránh có một ngoại lệ với các khóa không xác định, chúng ta có thể sử dụng phương thức dict.get [khóa [, mặc định]].Phương thức này trả về giá trị cho khóa nếu khóa nằm trong từ điển, khác trả về mặc định.Nếu mặc định không được cung cấp, nó không trả về không [nhưng không bao giờ tăng ngoại lệ].dict. get[key[, default]]. This method returns the value for key if key is in the dictionary, else returns default. If default is not provided, it returns None [but never raises an exception].

Bài Viết Liên Quan

Chủ Đề