Hướng dẫn python check list index out of range - danh sách kiểm tra python nằm ngoài phạm vi
Tôi đang sử dụng đẹp và phân tích một số HTML.BeautifulSoup and parsing some HTMLs. Show
Tôi đang nhận được một dữ liệu nhất định từ mỗi HTML (sử dụng cho vòng lặp) và thêm dữ liệu đó vào một danh sách nhất định. Vấn đề là, một số HTML có định dạng khác nhau (và chúng không có dữ liệu mà tôi muốn ở đó). Vì vậy, tôi đã cố gắng sử dụng xử lý ngoại lệ và thêm giá trị 7 vào danh sách (tôi nên làm điều này vì chuỗi dữ liệu là quan trọng.)Chẳng hạn, tôi có một mã như:
Và một số liên kết không có bất kỳ 8 nào, vì vậy những gì tôi muốn làm là thêm chuỗi 7 vào danh sách thay thế.Lỗi xuất hiện:
Những gì tôi đã làm đã thử là thêm một số dòng như thế này:
Nhưng nó không thành công. Nó vẫn hiển thị lỗi:
Tôi nên làm gì với cái này? Tôi có nên sử dụng xử lý ngoại lệ không? hoặc có cách nào dễ dàng hơn? Bất kỳ đề xuất? Bất kỳ sự giúp đỡ sẽ thực sự tuyệt vời! Trong bài viết này, bạn sẽ thấy một vài lý do gây ra lỗi Bên cạnh việc biết lý do tại sao lỗi này xảy ra ở nơi đầu tiên, bạn cũng sẽ học một số cách để tránh nó. Bắt đầu nào! Cách tạo danh sách trong PythonĐể tạo một đối tượng danh sách trong Python, bạn cần phải:
Ví dụ: để tạo danh sách các tên bạn sẽ làm như sau:
Mã trên đã tạo ra một danh sách có tên 3 có bốn giá trị: 4.Cách kiểm tra độ dài của danh sách trong PythonĐể kiểm tra độ dài của một danh sách trong Python, hãy sử dụng phương pháp 5 tích hợp của Python. 5 sẽ trả về một số nguyên, sẽ là số lượng các mục được lưu trữ trong danh sách.
Có bốn mục được lưu trữ trong danh sách, do đó độ dài của danh sách sẽ là bốn. Cách truy cập các mục danh sách cá nhân trong PythonMỗi mục trong danh sách có số chỉ mục riêng. Lập chỉ mục trong Python và hầu hết các ngôn ngữ lập trình hiện đại, bắt đầu từ 0. Điều này có nghĩa là mục đầu tiên trong danh sách có chỉ mục 0, mục thứ hai có chỉ mục là 1, v.v. Bạn có thể sử dụng số chỉ mục để truy cập vào mục riêng lẻ. Để truy cập một mục trong danh sách bằng số chỉ mục của nó, trước tiên hãy viết tên của danh sách. Sau đó, bên trong dấu ngoặc vuông, bao gồm intiger tương ứng với số chỉ mục của mục. Lấy ví dụ từ trước đó, đây là cách bạn sẽ truy cập từng mục bên trong danh sách bằng số chỉ mục của nó:
Bạn cũng có thể sử dụng lập chỉ mục tiêu cực để truy cập các mục bên trong danh sách trong Python. Để truy cập mục cuối cùng, bạn sử dụng giá trị chỉ mục là -1. Để kích hoạt mục thứ hai đến cuối cùng, bạn sử dụng giá trị chỉ mục là -2.last item, you use the index value of -1. To acces the second to last item, you use the index value of -2. Dưới đây là cách bạn sẽ truy cập từng mục trong danh sách bằng cách sử dụng lập chỉ mục âm:
Tại sao lỗi if not dlist[1]: newlist.append('null') continue 7 xảy ra trong Python?Sử dụng một số chỉ mục nằm ngoài phạm vi của danh sáchBạn sẽ gặp lỗi 7 khi bạn thử và truy cập một mục bằng cách sử dụng một giá trị nằm ngoài phạm vi chỉ mục của danh sách và không tồn tại.Điều này khá phổ biến khi bạn cố gắng truy cập mục cuối cùng của danh sách hoặc mục đầu tiên nếu bạn đang sử dụng lập chỉ mục âm. Hãy quay lại danh sách chúng tôi đã sử dụng cho đến nay.
Giả sử tôi muốn truy cập mục cuối cùng, "Lenny" và cố gắng làm như vậy bằng cách sử dụng mã sau:
Nói chung, phạm vi chỉ mục của một danh sách là 9, với 0 là tổng số giá trị trong danh sách.Với tổng giá trị của danh sách ở trên là 1, phạm vi chỉ mục là 2.Bây giờ, chúng ta hãy cố gắng truy cập một mục bằng cách sử dụng lập chỉ mục tiêu cực. Giả sử tôi muốn truy cập mục đầu tiên trong danh sách, "Kelly", bằng cách sử dụng lập chỉ mục tiêu cực. 0Khi sử dụng lập chỉ mục âm, phạm vi chỉ mục của danh sách là 3, trong đó 4 Tổng số mục có trong danh sách.Với tổng số mục trong danh sách là 1, phạm vi chỉ mục là 6.Sử dụng sai giá trị trong hàm list index out of range. 7 trong vòng lặp Python list index out of range. 8Bạn sẽ gặp lỗi 7 khi lặp qua danh sách và cố gắng truy cập một mục không tồn tại.Một ví dụ phổ biến trong đó điều này có thể xảy ra là khi bạn sử dụng số nguyên sai trong hàm 7 của Python.Hàm 7 thường có trong một số nguyên, cho biết nơi đếm sẽ dừng.Ví dụ, 2 chỉ ra rằng việc đếm sẽ bắt đầu từ 3 và kết thúc tại 1.Vì vậy, theo mặc định, việc đếm bắt đầu tại vị trí 3, được tăng lên bởi 6 mỗi lần và số lượng lên đến - nhưng không bao gồm - vị trí mà việc đếm sẽ dừng lại.Hãy lấy ví dụ sau: 1Ở đây, danh sách 3 có bốn giá trị.Tôi muốn lặp qua danh sách và in ra từng giá trị. Khi tôi sử dụng 2, tôi đã nói với trình thông dịch Python để in các giá trị ở vị trí 9.Tuy nhiên, không có mục ở vị trí 4. Bạn có thể thấy điều này bằng cách trước tiên in ra số lượng vị trí và sau đó là giá trị ở vị trí đó. 2Bạn thấy rằng ở vị trí 3 là "Kelly", ở vị trí 6 là "Nelly", ở vị trí 2 là "Jimmy" và ở vị trí 3 là "Lenny".Khi nói đến vị trí thứ tư, được chỉ định với 2 cho biết các vị trí của 9, không có gì để in ra và do đó trình thông dịch đưa ra lỗi.
Một cách để khắc phục điều này là giảm số nguyên trong 7: 3Một cách khác để khắc phục điều này khi sử dụng vòng lặp 8 là chuyển độ dài của danh sách làm đối số cho hàm 7. Bạn làm điều này bằng cách sử dụng chức năng Python tích hợp 5, như được hiển thị trong phần trước: 4Khi chuyển 5 như một đối số cho 7, hãy đảm bảo rằng bạn không phạm sai lầm sau:don't make the following mistake: 5Sau khi chạy mã, bạn sẽ một lần nữa gặp lỗi 2: 6Sự kết luậnHy vọng rằng bài viết này đã cho bạn một số hiểu biết về lý do tại sao lỗi 2 xảy ra và một số cách bạn có thể tránh được nó.Nếu bạn muốn tìm hiểu thêm về Python, hãy xem chứng nhận Python của Freecodecamp. Bạn sẽ bắt đầu học một cách thân thiện với người mới bắt đầu. Bạn cũng sẽ xây dựng năm dự án vào cuối để đưa vào thực tế và giúp củng cố những gì bạn đã học. Cảm ơn bạn đã đọc và mã hóa hạnh phúc! Học mã miễn phí. Chương trình giảng dạy nguồn mở của Freecodecamp đã giúp hơn 40.000 người có được việc làm với tư cách là nhà phát triển. Bắt đầu Danh sách chỉ mục ra khỏi phạm vi trong Python là gì?Trong bài viết này, chúng tôi đã nói về IndexError: List Index ngoài phạm vi lỗi trong Python.Lỗi này thường xảy ra khi chúng tôi cố gắng truy cập một mục trong danh sách bằng cách sử dụng chỉ mục không tồn tại trong danh sách.
Chỉ số nằm ngoài phạm vi là gì?Chỉ mục ra khỏi phạm vi có nghĩa là mã đang cố gắng truy cập một ma trận hoặc vectơ bên ngoài giới hạn của nó.Ví dụ: x = rndn (5, 1);y = x [6, 1];sẽ gây ra lỗi này, bởi vì nó đang cố gắng truy cập vào phần tử thứ 6 trong tổng số 5.the code is trying to access a matrix or vector outside of its bounds. For example: x = rndn(5, 1); y = x[6, 1]; would cause this error, because it is trying to access the 6th element out of a total of 5. |