<!DOCTYPE html>
    <html lang="vi" xmlns="http://www.w3.org/1999/xhtml" prefix="og: http://ogp.me/ns#">
    <head>
<title>Cách sửa lỗi &quot;TypeError&#x3A; object is not subscriptable&quot; trong Python</title>
<meta name="description" content="Cách sửa lỗi &quot;TypeError&#x3A; object is not subscriptable&quot; trong Python - Savefile - Tin Tức -...">
<meta name="author" content=".: Nguoicodonvn2008.info - Cõi lòng người cô đơn :.">
<meta name="copyright" content=".: Nguoicodonvn2008.info - Cõi lòng người cô đơn :. [admin@nguoicodonvn2008.info]">
<meta name="robots" content="index, archive, follow, noodp">
<meta name="googlebot" content="index,archive,follow,noodp">
<meta name="msnbot" content="all,index,follow">
<meta name="generator" content="NukeViet v4.5">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta property="og:title" content="Cách sửa lỗi &quot;TypeError&#x3A; object is not subscriptable&quot; trong Python">
<meta property="og:type" content="website">
<meta property="og:description" content="Savefile - Tin Tức - https&#x3A;&#x002F;&#x002F;www.nguoicodonvn2008.info&#x002F;vi&#x002F;news&#x002F;savefile&#x002F;kien-thuc-may-tinh&#x002F;cach-sua-loi-typeerror-object-is-not-subscriptable-trong-python-7263.html">
<meta property="og:site_name" content=".&#x3A; Nguoicodonvn2008.info - Cõi lòng người cô đơn &#x3A;.">
<meta property="og:url" content="https://www.nguoicodonvn2008.info/vi/news/savefile/kien-thuc-may-tinh/cach-sua-loi-typeerror-object-is-not-subscriptable-trong-python-7263.html">
<link rel="shortcut icon" href="https://nguoicodonvn2008.info/favicon.ico">
<link rel="canonical" href="https://www.nguoicodonvn2008.info/vi/news/savefile/kien-thuc-may-tinh/cach-sua-loi-typeerror-object-is-not-subscriptable-trong-python-7263.html">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/" title="Tin Tức" type="application/rss+xml">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/karaoke-dual/" title="Tin Tức - Karaoke Dual" type="application/rss+xml">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/nhac-tre/" title="Tin Tức - Nhạc trẻ" type="application/rss+xml">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/tru-tinh/" title="Tin Tức - Trữ tình" type="application/rss+xml">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/nuoc-ngoai/" title="Tin Tức - Nước ngoài" type="application/rss+xml">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/remix/" title="Tin Tức - Remix" type="application/rss+xml">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/tam-su-tinh-yeu/" title="Tin Tức - Tâm sự tình yêu" type="application/rss+xml">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/tho-suu-tam/" title="Tin Tức - Thơ sưu tầm" type="application/rss+xml">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/cuoc-song/" title="Tin Tức - Cuộc sống" type="application/rss+xml">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/phan-mem/" title="Tin Tức - Phần mềm" type="application/rss+xml">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/kien-thuc-may-tinh/" title="Tin Tức - Kiến thức máy tính" type="application/rss+xml">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/hoc-tap/" title="Tin Tức - Học tập" type="application/rss+xml">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/tai-lieu/" title="Tin Tức - Tài liệu" type="application/rss+xml">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/de-thi/" title="Tin Tức - Đề thi" type="application/rss+xml">
<link rel="preload" as="style" href="https://nguoicodonvn2008.info/assets/css/font-awesome.min.css" type="text/css">
<link rel="preload" as="style" href="https://nguoicodonvn2008.info/themes/default/css/bootstrap.non-responsive.css" type="text/css">
<link rel="preload" as="style" href="https://nguoicodonvn2008.info/themes/default/css/style.css" type="text/css">
<link rel="preload" as="style" href="https://nguoicodonvn2008.info/themes/default/css/style.non-responsive.css" type="text/css">
<link rel="preload" as="style" href="https://nguoicodonvn2008.info/themes/default/css/news.css" type="text/css">
<link rel="preload" as="style" href="https://nguoicodonvn2008.info/themes/default/css/custom.css" type="text/css">
<link rel="preload" as="script" href="https://nguoicodonvn2008.info/assets/js/jquery/jquery.min.js" type="text/javascript">
<link rel="preload" as="script" href="https://nguoicodonvn2008.info/assets/js/language/vi.js" type="text/javascript">
<link rel="preload" as="script" href="https://nguoicodonvn2008.info/assets/js/DOMPurify/purify3.js" type="text/javascript">
<link rel="preload" as="script" href="https://nguoicodonvn2008.info/assets/js/global.js" type="text/javascript">
<link rel="preload" as="script" href="https://nguoicodonvn2008.info/assets/js/site.js" type="text/javascript">
<link rel="preload" as="script" href="https://nguoicodonvn2008.info/themes/default/js/news.js" type="text/javascript">
<link rel="preload" as="script" href="https://nguoicodonvn2008.info/themes/default/js/main.js" type="text/javascript">
<link rel="preload" as="script" href="https://nguoicodonvn2008.info/themes/default/js/custom.js" type="text/javascript">
<link rel="preload" as="script" href="https://nguoicodonvn2008.info/themes/default/js/bootstrap.min.js" type="text/javascript">
<link rel="stylesheet" href="https://nguoicodonvn2008.info/assets/css/font-awesome.min.css">
<link rel="stylesheet" href="https://nguoicodonvn2008.info/themes/default/css/bootstrap.non-responsive.css">
<link rel="stylesheet" href="https://nguoicodonvn2008.info/themes/default/css/style.css">
<link rel="stylesheet" href="https://nguoicodonvn2008.info/themes/default/css/style.non-responsive.css">
<link rel="StyleSheet" href="https://nguoicodonvn2008.info/themes/default/css/news.css">
<link rel="stylesheet" href="https://nguoicodonvn2008.info/themes/default/css/custom.css">
<style type="text/css">
	body{background: #fff;}
</style>
    </head>
    <body>
<div id="print">
	<div id="hd_print">
		<h2 class="pull-left">.&#x3A; Nguoicodonvn2008.info - Cõi lòng người cô đơn &#x3A;.</h2>
		<p class="pull-right"><a title=".&#x3A; Nguoicodonvn2008.info - Cõi lòng người cô đơn &#x3A;." href="https://nguoicodonvn2008.info/">https://nguoicodonvn2008.info</a></p>
	</div>
	<div class="clear"></div>
	<hr />
	<div id="content">
		<h1>Cách sửa lỗi &quot;TypeError&#x3A; object is not subscriptable&quot; trong Python</h1>
		<ul class="list-inline">
			<li>Thứ tư - 05/07/2023 09:30</li>
			<li class="hidden-print txtrequired"><em class="fa fa-print">&nbsp;</em><a title="In ra" href="javascript:;" onclick="window.print()">In ra</a></li>
			<li class="hidden-print txtrequired"><em class="fa fa-power-off">&nbsp;</em><a title="Đóng cửa sổ này" href="javascript:;" onclick="window.close()">Đóng cửa sổ này</a></li>
		</ul>
		<div class="clear"></div>
		<div id="hometext">
		</div>
				<div class="imghome">
			<img alt="Cách sửa lỗi &quot;TypeError&#x3A; object is not subscriptable&quot; trong Python" src="https://st.quantrimang.com/photos/image/2023/07/05/typeerror-python.jpg" width="460" class="img-thumbnail" />
		</div>
		<div class="clear"></div>
		<div id="bodytext" class="clearfix">
			<p style="text-align: justify;">Hiểu về&nbsp;<strong>hệ thống kiểu (type) trong Python</strong>&nbsp;là chìa khóa để giải quyết lỗi TypeError. Dưới đây là chi tiết&nbsp;<strong>cách sửa lỗi &quot;TypeError: object is not subscriptable&quot; trong Python</strong>.</p>

<p style="text-align: justify;"><img alt="Lập trình Python" data-i="0" data-src="https://st.quantrimang.com/photos/image/2023/07/05/Python-loi-typeerror-7.jpg" data-was-processed="true" height="340" src="https://st.quantrimang.com/photos/image/2023/07/05/Python-loi-typeerror-7.jpg" width="650" /></p>

<p style="text-align: justify;">Cố gắng truy xuất dữ liệu từ một đối tượng và thấy báo lỗi &quot;object is not subscriptable&quot;? 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é!</p>

<h2 style="text-align: justify;">Subscriptable trong Python là gì?</h2>

<p style="text-align: justify;">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ị.</p>

<p style="text-align: justify;">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 (<strong>&#91;&#93;</strong>).</p>

<p style="text-align: justify;">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: &quot;TypeError: object is not subscriptable&quot;.</p>

<p style="text-align: justify;">Những kiểu dữ liệu sau có thể subscriptable trong Python: lists, strings, tuples, và dictionaries.</p>

<pre id="pre0" style="text-align: justify;">
list_example = &#91;1, 3, 5, &quot;Idowu&quot;&#93;
string_example = &quot;Idowu Omisola&quot;
tuple_example = (1, 3, 5, &quot;Idowu&quot;)
dict_example = {&quot;name&quot;: &quot;Idowu&quot;, &quot;Language&quot;: &quot;Yoruba&quot;}

print(list_example&#91;0&#93;) # 1
print(string_example&#91;3&#93;) # w
print(tuple_example&#91;1&#93;) # 3
print(dict_example&#91;&quot;name&quot;&#93;) # Idowu </pre>

<p style="text-align: justify;">Tuy nhiên, set, integer, float, và Boolean không thể truy cập qua index, vì thế chúng không thể subscriptable:</p>

<pre id="pre1" style="text-align: justify;">
float_example = 12.45
int_example = 12367
bool_example = True
set_example = {1, 3, 5, &quot;Python&quot;}

print(float_example&#91;1&#93;)
print(bool_example&#91;2&#93;)
print(int_example&#91;2&#93;)
print(set_example&#91;2&#93;)</pre>

<p style="text-align: justify;">Cố gắng chạy từng lệnh này sẽ cho ngoại lệ &quot;object is not subscriptable&quot;:</p>

<p style="text-align: justify;"><img alt="Cửa sổ báo TypeError trong Python" data-i="1" data-src="https://st.quantrimang.com/photos/image/2023/07/05/typeerror-python.jpg" data-was-processed="true" height="290" src="https://st.quantrimang.com/photos/image/2023/07/05/typeerror-python.jpg" width="650" /></p>

<h2 style="text-align: justify;">Khắc phục lỗi &quot;TypeError: object is not subscriptable&quot; trong Python</h2>

<p style="text-align: justify;">Sửa lỗi &quot;object is not subscriptable&quot; 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.</p>

<pre id="pre2" style="text-align: justify;">
float_example = 12.45
int_example = 12367
bool_example = True
set_example = {1, 3, 5, &quot;Python&quot;}

print(type(float_example)) # &lt;class &#039;float&#039;&gt;
print(type(int_example)) # &lt;class &#039;int&#039;&gt;
print(type(bool_example)) # &lt;class &#039;bool&#039;&gt;
print(type(set_example)) # &lt;class &#039;set&#039;&gt;</pre>

<p style="text-align: justify;">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:</p>

<pre id="pre3" style="text-align: justify;">
print(str(float_example)&#91;:2&#93;) # 12
print(str(int_example)&#91;:2&#93;) # 12
print(str(bool_example)&#91;:2&#93;) # Tr
</pre>

<p style="text-align: justify;">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:</p>

<pre id="pre4" style="text-align: justify;">
converted_float = float(str(float_example)&#91;:2&#93;)
converted_int = int(str(int_example)&#91;:2&#93;)

# 12.0 Data type:&lt;class &#039;float&#039;&gt;
print(converted_float, f&#039;Data type:{type(converted_float)}&#039;)

# 12 Data type:&lt;class &#039;int&#039;&gt; 
print(converted_int, f&#039;Data type:{type(converted_int)}&#039;)</pre>

<p style="text-align: justify;">Đối với một set, bạn có thể biến nó thành list bằng&nbsp;<strong>list(set)&nbsp;</strong>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:</p>

<pre id="pre5" style="text-align: justify;">
set_example = {1, 3, 5, &quot;Python&quot;}
converted = sorted(set_example, key=lambda x: (isinstance(x, str), x))

print(converted&#91;3&#93;) # Python</pre>

<p style="text-align: justify;">Trên đây là<strong>&nbsp;cách sửa lỗi TypeError: object is not subscriptable trong Python</strong>. Hi vọng bài viết hữu ích với các bạn.</p>
		</div>
				<div id="author">
						<p>
				<strong>Nguồn tin:</strong>
				Quantrimang.com
			</p>
		</div>
	</div>
	<div id="footer" class="clearfix">
		<div id="url">
			<strong>URL của bản tin này: </strong><a href="https://www.nguoicodonvn2008.info/vi/news/savefile/kien-thuc-may-tinh/cach-sua-loi-typeerror-object-is-not-subscriptable-trong-python-7263.html" title="Cách sửa lỗi &quot;TypeError&#x3A; object is not subscriptable&quot; trong Python">https://www.nguoicodonvn2008.info/vi/news/savefile/kien-thuc-may-tinh/cach-sua-loi-typeerror-object-is-not-subscriptable-trong-python-7263.html</a>

		</div>
		<div class="clear"></div>
		<div class="copyright">
			&copy; .&#x3A; Nguoicodonvn2008.info - Cõi lòng người cô đơn &#x3A;.
		</div>
		<div id="contact">
			<a href="mailto:admin@nguoicodonvn2008.info">admin@nguoicodonvn2008.info</a>
		</div>
	</div>
</div>
        <div id="timeoutsess" class="chromeframe">
            Bạn đã không sử dụng Site, <a onclick="timeoutsesscancel();" href="https://nguoicodonvn2008.info/#">Bấm vào đây để duy trì trạng thái đăng nhập</a>. Thời gian chờ: <span id="secField"> 60 </span> giây
        </div>
        <div id="openidResult" class="nv-alert" style="display:none"></div>
        <div id="openidBt" data-result="" data-redirect=""></div>
		</script>
		<div class="car-top">
  <span><img src="https://nguoicodonvn2008.info/themes/default/images/car.png" alt=""></span>
</div>
<div id="run_cronjobs" style="visibility:hidden;display:none;"><img alt="cron" src="/index.php?second=cronjobs&amp;p=h16fJ6xr" width="1" height="1" /></div>
<script src="https://nguoicodonvn2008.info/assets/js/jquery/jquery.min.js"></script>
<script>var nv_base_siteurl="/",nv_lang_data="vi",nv_lang_interface="vi",nv_name_variable="nv",nv_fc_variable="op",nv_lang_variable="language",nv_module_name="news",nv_func_name="savefile",nv_is_user=0, nv_my_ofs=-4,nv_my_abbr="EDT",nv_cookie_prefix="nv4c_e856T",nv_check_pass_mstime=1738000,nv_area_admin=0,nv_safemode=0,theme_responsive=0,nv_recaptcha_ver=2,nv_recaptcha_sitekey="",nv_recaptcha_type="image",XSSsanitize=1;</script>
<script src="https://nguoicodonvn2008.info/assets/js/language/vi.js"></script>
<script src="https://nguoicodonvn2008.info/assets/js/DOMPurify/purify3.js"></script>
<script src="https://nguoicodonvn2008.info/assets/js/global.js"></script>
<script src="https://nguoicodonvn2008.info/assets/js/site.js"></script>
<script src="https://nguoicodonvn2008.info/themes/default/js/news.js"></script>
<script src="https://nguoicodonvn2008.info/themes/default/js/main.js"></script>
<script src="https://nguoicodonvn2008.info/themes/default/js/custom.js"></script>
<script type="application/ld+json">
        {
            "@context": "https://schema.org",
            "@type": "Organization",
            "url": "https://nguoicodonvn2008.info",
            "logo": "https://nguoicodonvn2008.info/uploads/angel.gif"
        }
        </script>
<script src="https://nguoicodonvn2008.info/themes/default/js/bootstrap.min.js"></script>
<script type="text/javascript">
var $scrolltop = $('.car-top');
$scrolltop.on('click', function () {
    $('html,body').animate({
        scrollTop: 0
    }, 800);
    $(this).addClass("car-run");
    setTimeout(function(){ $scrolltop.removeClass('car-run');}, 1000);
    return false;
});
$(window).on('scroll', function ()
{ 
    if($(window).scrollTop() >= 200)
    {
        $scrolltop.addClass("show");
        $scrolltop.addClass("car-down");
    }
    else
    {
       $scrolltop.removeClass("show");
       setTimeout(function(){ $scrolltop.removeClass('car-down');}, 300);
    }
});
</script>
</body>
</html>