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
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
Hướng dẫn chi tiết tích hợp NotebookLM với ChatGPT
Cách triển khai kiến thức cho nhiều cấp học chỉ với 1 câu lệnh
Cách tạo tài liệu học tập nhanh bằng ChatGPT Canvas
Karaoke Bông mua tím (Midi)
Node AI đầu tiên của bạn: Basic LLM Chain
AI Agent: Công cụ, prompt và quá trình ra quyết định
Hướng dẫn tạo Email Signature Generator với ChatGPT
Cách dùng Claude Code để xây dựng MVP nhanh và hiệu quả
Hướng dẫn tạo đề kiểm tra trên Teachy AI
Prompt tạo ảnh chân dung cổ điển trên Gemini
5 Docker container giúp doanh nghiệp nhỏ xây dựng hạ tầng dữ liệu
6 cách dùng Gemini để ôn thi hiệu quả hơn
Ta đang gieo gì cho chính ta
Lập kịch bản hình ảnh và lên kế hoạch trực quan cho video AI