Thông tin liên hệ
- 036.686.3943
- admin@nguoicodonvn2008.info
Hiểu về hệ thống kiểu (type) trong Python là chìa khóa để giải quyết lỗi TypeError. Dưới đây là chi tiết cách sửa lỗi "TypeError: object is not subscriptable" trong Python.

Cố gắng truy xuất dữ liệu từ một đối tượng và thấy báo lỗi "object is not subscriptable"? Vấn đề ở đây là bạn đang index sai kiểu dữ liệu. Hãy cùng nhau tìm hiểu về các kiểu “subscriptable” và cách sửa lỗi TypeError nhé!
Khái niệm “subscriptable” trong Python nghĩa là một kiểu dữ liệu chứa nhiều giá trị mà bạn có thể truy cập riêng từng giá trị.
Bạn có thể vào một giá trị cụ thể từ kiểu dữ liệu subscriptable qua index của nó, dùng ký hiệu dấu ngoặc vuông ([]).
Nếu cố gắng truy cập các mục trong kiểu dữ liệu không thể index, Python sẽ báo: "TypeError: object is not subscriptable".
Những kiểu dữ liệu sau có thể subscriptable trong Python: lists, strings, tuples, và dictionaries.
list_example = [1, 3, 5, "Idowu"]
string_example = "Idowu Omisola"
tuple_example = (1, 3, 5, "Idowu")
dict_example = {"name": "Idowu", "Language": "Yoruba"}
print(list_example[0]) # 1
print(string_example[3]) # w
print(tuple_example[1]) # 3
print(dict_example["name"]) # Idowu
Tuy nhiên, set, integer, float, và Boolean không thể truy cập qua index, vì thế chúng không thể subscriptable:
float_example = 12.45
int_example = 12367
bool_example = True
set_example = {1, 3, 5, "Python"}
print(float_example[1])
print(bool_example[2])
print(int_example[2])
print(set_example[2])
Cố gắng chạy từng lệnh này sẽ cho ngoại lệ "object is not subscriptable":

Sửa lỗi "object is not subscriptable" dễ hơn khi bạn hiểu các quy tắc để truy cập từng kiểu dữ liệu. Vì thế, bắt đầu gỡ lỗi Python bằng cách kiểm tra kiểu dữ liệu của đối tượng đang muốn index.
float_example = 12.45
int_example = 12367
bool_example = True
set_example = {1, 3, 5, "Python"}
print(type(float_example)) # <class 'float'>
print(type(int_example)) # <class 'int'>
print(type(bool_example)) # <class 'bool'>
print(type(set_example)) # <class 'set'>
Sau khi đã xác định kiểu dữ liệu không thể subscriptable, chuyển đổi nó sang kiểu có thể index để giải quyết vấn đề. Điều này hữu ích nếu dữ liệu đến từ API bên thứ ba. Chuyển đổi kiểu dữ liệu như integer, float và Boolean thành chuỗi khiến chúng subscriptable:
print(str(float_example)[:2]) # 12 print(str(int_example)[:2]) # 12 print(str(bool_example)[:2]) # Tr
Thậm chí bạn có thể thao tác các kết quả chuỗi Python như ý muốn. Nếu đang phải xử lý integer và float, có thể bạn muốn dữ liệu kiểu dữ liệu gốc trong output. Để làm việc này, chuyển đổi giá trị kết quả vào kiểu dữ liệu gốc sau khi index chúng dưới dạng chuỗi:
converted_float = float(str(float_example)[:2])
converted_int = int(str(int_example)[:2])
# 12.0 Data type:<class 'float'>
print(converted_float, f'Data type:{type(converted_float)}')
# 12 Data type:<class 'int'>
print(converted_int, f'Data type:{type(converted_int)}')
Đối với một set, bạn có thể biến nó thành list bằng list(set) một dòng trong Python nhưng điều đó không bảo toàn các vị trí mục trong danh sách kết quả. Để đảm bảo bạn nhận được một danh sách với các vị trí mục được giữ nguyên, hãy sử dụng hàm lambda của Python như sau:
set_example = {1, 3, 5, "Python"}
converted = sorted(set_example, key=lambda x: (isinstance(x, str), x))
print(converted[3]) # Python
Trên đây là cách sửa lỗi TypeError: object is not subscriptable trong Python. Hi vọng bài viết hữu ích với các bạn.
Nguồn tin: Quantrimang.com
Ý kiến bạn đọc
Những tin mới hơn
Những tin cũ hơn
Tìm hiểu về giao diện của Claude Cowork
Làm việc với file trong Claude Cowork
Cách tạo và sử dụng Avatar AI trên YouTube
Các connector và tích hợp trong Claude Cowork
Hướng dẫn lồng tiếng bằng AI trong Google Vids
Cách tạo các video mô phỏng và mô hình tương tác trực tiếp trong ứng dụng Gemini
Mẹo, thủ thuật và cách khắc phục sự cố trong Claude Cowork
Mẹo sử dụng ChatGPT phát hiện đường link lừa đảo
Cách tắt Gemini trong Gmail, Google Photos và Chrome nhanh nhất
Hướng dẫn sử dụng Cursor Composer
Các lệnh cốt lõi trong Claude Code
Quản lý ngữ cảnh trong Claude Code
Hướng dẫn xóa logo trong video AI trên Magic Eraser
Mẹo nhận biết văn bản do AI tạo ra
Hướng dẫn tạo ảnh anime AI trên PixAI
Không bao giờ là trễ nếu bạn còn có cơ hội để sửa chữa sai lầm
6 cách dùng Gemini để ôn thi hiệu quả hơn
Hướng dẫn vẽ hình học không gian qua code MATLAB bằng Gemini
Các quy tắc AI Agent
Thiết lập và chạy Claude Cowork lần đầu