{"id":1518,"date":"2025-09-28T16:47:41","date_gmt":"2025-09-28T09:47:41","guid":{"rendered":"https:\/\/kienthucmo.com\/?p=1518"},"modified":"2025-11-05T23:39:47","modified_gmt":"2025-11-05T16:39:47","slug":"tim-kiem-phan-tu-trong-list-voi-python","status":"publish","type":"post","link":"https:\/\/kienthucmo.com\/vi\/tim-kiem-phan-tu-trong-list-voi-python\/","title":{"rendered":"T\u00ecm ki\u1ebfm ph\u1ea7n t\u1eed trong List v\u1edbi Python"},"content":{"rendered":"\n<p>Trong l\u1eadp tr\u00ecnh Python, <strong>list<\/strong> l\u00e0 m\u1ed9t trong nh\u1eefng ki\u1ec3u d\u1eef li\u1ec7u ph\u1ed5 bi\u1ebfn nh\u1ea5t. Ch\u00fang gi\u1ed1ng nh\u01b0 m\u1ed9t container l\u01b0u tr\u1eef c\u00e1c ph\u1ea7n t\u1eed c\u00f3 th\u1ec3 l\u00e0 s\u1ed1, chu\u1ed7i, ho\u1eb7c th\u1eadm ch\u00ed c\u00e1c list kh\u00e1c. Trong qu\u00e1 tr\u00ecnh x\u1eed l\u00fd d\u1eef li\u1ec7u, vi\u1ec7c <strong>t\u00ecm ki\u1ebfm ph\u1ea7n t\u1eed trong list<\/strong> l\u00e0 m\u1ed9t thao t\u00e1c c\u01a1 b\u1ea3n nh\u01b0ng c\u1ef1c k\u1ef3 quan tr\u1ecdng.<\/p>\n\n\n\n<p>Vi\u1ec7c ch\u1ecdn \u0111\u00fang thu\u1eadt to\u00e1n t\u00ecm ki\u1ebfm s\u1ebd \u1ea3nh h\u01b0\u1edfng l\u1edbn \u0111\u1ebfn hi\u1ec7u su\u1ea5t ch\u01b0\u01a1ng tr\u00ecnh, \u0111\u1eb7c bi\u1ec7t v\u1edbi list c\u00f3 k\u00edch th\u01b0\u1edbc l\u1edbn. Trong b\u00e0i vi\u1ebft n\u00e0y, m\u00ecnh s\u1ebd chia s\u1ebb to\u00e0n b\u1ed9 ki\u1ebfn th\u1ee9c v\u1ec1 <strong>t\u00ecm ki\u1ebfm ph\u1ea7n t\u1eed trong list Python<\/strong>, t\u1eeb c\u01a1 b\u1ea3n \u0111\u1ebfn n\u00e2ng cao, k\u00e8m v\u00ed d\u1ee5 minh h\u1ecda chi ti\u1ebft, gi\u00fap b\u1ea1n v\u1eeba hi\u1ec3u thu\u1eadt to\u00e1n v\u1eeba d\u1ec5 \u00e1p d\u1ee5ng v\u00e0o th\u1ef1c t\u1ebf.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">1. T\u1ed5ng quan v\u1ec1 list trong Python<\/h2>\n\n\n\n<p>List trong Python l\u00e0 m\u1ed9t lo\u1ea1i d\u1eef li\u1ec7u \u0111\u1ed9ng, cho ph\u00e9p l\u01b0u tr\u1eef t\u1eadp h\u1ee3p ph\u1ea7n t\u1eed v\u1edbi c\u00e1c ki\u1ec3u d\u1eef li\u1ec7u kh\u00e1c nhau. M\u1ed9t \u0111i\u1ec3m m\u1ea1nh c\u1ee7a list l\u00e0 kh\u1ea3 n\u0103ng m\u1edf r\u1ed9ng v\u00e0 thao t\u00e1c \u0111a d\u1ea1ng.<\/p>\n\n\n\n<p>V\u00ed d\u1ee5:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly># Create a list containing integers\nnumbers = &#91;10, 20, 30, 40, 50&#93;\n<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #616E88\"># Create a list containing integers<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">numbers <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">&#91;<\/span><span style=\"color: #B48EAD\">10<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">20<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">30<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">40<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">50<\/span><span style=\"color: #ECEFF4\">&#93;<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre><\/div>\n\n\n\n<p>Nh\u1edd v\u00e0o t\u00ednh ch\u1ea5t n\u00e0y, list r\u1ea5t linh ho\u1ea1t, nh\u01b0ng \u0111\u1ed3ng th\u1eddi y\u00eau c\u1ea7u ch\u00fang ta c\u1ea7n c\u00f3 c\u00e1ch t\u00ecm ki\u1ebfm ph\u00f9 h\u1ee3p \u0111\u1ec3 t\u1ed1i \u01b0u h\u00f3a hi\u1ec7u su\u1ea5t.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">2. Linear Search trong List<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">2.1 Kh\u00e1i ni\u1ec7m<\/h3>\n\n\n\n<p>Linear Search (t\u00ecm ki\u1ebfm tuy\u1ebfn t\u00ednh) l\u00e0 ph\u01b0\u01a1ng ph\u00e1p t\u00ecm ki\u1ebfm c\u01a1 b\u1ea3n nh\u1ea5t. \u00dd t\u01b0\u1edfng l\u00e0 ki\u1ec3m tra t\u1eebng ph\u1ea7n t\u1eed trong list theo th\u1ee9 t\u1ef1 t\u1eeb \u0111\u1ea7u \u0111\u1ebfn cu\u1ed1i, so s\u00e1nh v\u1edbi gi\u00e1 tr\u1ecb c\u1ea7n t\u00ecm. N\u1ebfu t\u00ecm th\u1ea5y th\u00ec tr\u1ea3 v\u1ec1 v\u1ecb tr\u00ed index, n\u1ebfu kh\u00f4ng th\u00ec k\u1ebft th\u00fac sau khi ki\u1ec3m tra h\u1ebft list.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">2.2 C\u00e0i \u0111\u1eb7t minh h\u1ecda<\/h3>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly># Create a list of integers\nnumbers = &#91;10, 20, 30, 40, 50&#93;\n\n# Value to search\ntarget = 30\n\n# Linear search implementation\nfor index, value in enumerate(numbers):\n    if value == target:\n        print(f\"Element {target} found at index {index}\")\n        break\nelse:\n    print(f\"Element {target} not found\")\n<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #616E88\"># Create a list of integers<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">numbers <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">&#91;<\/span><span style=\"color: #B48EAD\">10<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">20<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">30<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">40<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">50<\/span><span style=\"color: #ECEFF4\">&#93;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #616E88\"># Value to search<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">target <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">30<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #616E88\"># Linear search implementation<\/span><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">for<\/span><span style=\"color: #D8DEE9FF\"> index<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> value <\/span><span style=\"color: #81A1C1\">in<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">enumerate<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #D8DEE9FF\">numbers<\/span><span style=\"color: #ECEFF4\">):<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">if<\/span><span style=\"color: #D8DEE9FF\"> value <\/span><span style=\"color: #81A1C1\">==<\/span><span style=\"color: #D8DEE9FF\"> target<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #88C0D0\">print<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #81A1C1\">f<\/span><span style=\"color: #A3BE8C\">&quot;Element <\/span><span style=\"color: #EBCB8B\">{<\/span><span style=\"color: #D8DEE9FF\">target<\/span><span style=\"color: #EBCB8B\">}<\/span><span style=\"color: #A3BE8C\"> found at index <\/span><span style=\"color: #EBCB8B\">{<\/span><span style=\"color: #D8DEE9FF\">index<\/span><span style=\"color: #EBCB8B\">}<\/span><span style=\"color: #A3BE8C\">&quot;<\/span><span style=\"color: #ECEFF4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #81A1C1\">break<\/span><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">else<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #88C0D0\">print<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #81A1C1\">f<\/span><span style=\"color: #A3BE8C\">&quot;Element <\/span><span style=\"color: #EBCB8B\">{<\/span><span style=\"color: #D8DEE9FF\">target<\/span><span style=\"color: #EBCB8B\">}<\/span><span style=\"color: #A3BE8C\"> not found&quot;<\/span><span style=\"color: #ECEFF4\">)<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">2.3 Ph\u00e2n t\u00edch<\/h3>\n\n\n\n<p>Linear Search \u0111\u01a1n gi\u1ea3n, d\u1ec5 hi\u1ec3u v\u00e0 kh\u00f4ng c\u1ea7n s\u1eafp x\u1ebfp list tr\u01b0\u1edbc. Tuy nhi\u00ean, nh\u01b0\u1ee3c \u0111i\u1ec3m l\u00e0 t\u1ed1c \u0111\u1ed9 t\u00ecm ki\u1ebfm t\u1ec9 l\u1ec7 thu\u1eadn v\u1edbi k\u00edch th\u01b0\u1edbc list.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Tr\u01b0\u1eddng h\u1ee3p t\u1ed1t nh\u1ea5t<\/strong>: ph\u1ea7n t\u1eed t\u00ecm th\u1ea5y \u1edf \u0111\u1ea7u list \u2192 O(1)<\/li>\n\n\n\n<li><strong>Tr\u01b0\u1eddng h\u1ee3p x\u1ea5u nh\u1ea5t<\/strong>: ph\u1ea7n t\u1eed n\u1eb1m \u1edf cu\u1ed1i ho\u1eb7c kh\u00f4ng t\u1ed3n t\u1ea1i \u2192 O(n)<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">2.4 Khi n\u00e0o d\u00f9ng<\/h3>\n\n\n\n<p>Linear Search ph\u00f9 h\u1ee3p v\u1edbi list nh\u1ecf ho\u1eb7c khi d\u1eef li\u1ec7u ch\u01b0a \u0111\u01b0\u1ee3c s\u1eafp x\u1ebfp. N\u1ebfu list qu\u00e1 l\u1edbn v\u00e0 t\u00ecm ki\u1ebfm th\u01b0\u1eddng xuy\u00ean, n\u00ean d\u00f9ng thu\u1eadt to\u00e1n kh\u00e1c \u0111\u1ec3 ti\u1ebft ki\u1ec7m th\u1eddi gian.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">3. Binary Search trong List<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">3.1 Kh\u00e1i ni\u1ec7m<\/h3>\n\n\n\n<p>Binary Search l\u00e0 ph\u01b0\u01a1ng ph\u00e1p t\u00ecm ki\u1ebfm nhanh h\u01a1n Linear Search, nh\u01b0ng y\u00eau c\u1ea7u list <strong>ph\u1ea3i \u0111\u01b0\u1ee3c s\u1eafp x\u1ebfp<\/strong> tr\u01b0\u1edbc. Thu\u1eadt to\u00e1n n\u00e0y chia list th\u00e0nh hai ph\u1ea7n, so s\u00e1nh ph\u1ea7n t\u1eed gi\u1eefa list v\u1edbi gi\u00e1 tr\u1ecb c\u1ea7n t\u00ecm, r\u1ed3i quy\u1ebft \u0111\u1ecbnh t\u00ecm ti\u1ebfp \u1edf n\u1eeda tr\u00ean ho\u1eb7c n\u1eeda d\u01b0\u1edbi.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">3.2 C\u00e0i \u0111\u1eb7t minh h\u1ecda<\/h3>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly># Create a sorted list\nnumbers = &#91;10, 20, 30, 40, 50, 60, 70&#93;\n\n# Value to search\ntarget = 50\n\n# Binary search implementation\nlow = 0\nhigh = len(numbers) - 1\nfound = False\n\nwhile low &lt;= high:\n    mid = (low + high) \/\/ 2\n    if numbers&#91;mid&#93; == target:\n        print(f\"Element {target} found at index {mid}\")\n        found = True\n        break\n    elif numbers&#91;mid&#93; &lt; target:\n        low = mid + 1\n    else:\n        high = mid - 1\n\nif not found:\n    print(f\"Element {target} not found\")\n<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #616E88\"># Create a sorted list<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">numbers <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">&#91;<\/span><span style=\"color: #B48EAD\">10<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">20<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">30<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">40<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">50<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">60<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">70<\/span><span style=\"color: #ECEFF4\">&#93;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #616E88\"># Value to search<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">target <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">50<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #616E88\"># Binary search implementation<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">low <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">0<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">high <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">len<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #D8DEE9FF\">numbers<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">1<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">found <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">False<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">while<\/span><span style=\"color: #D8DEE9FF\"> low <\/span><span style=\"color: #81A1C1\">&lt;=<\/span><span style=\"color: #D8DEE9FF\"> high<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    mid <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #D8DEE9FF\">low <\/span><span style=\"color: #81A1C1\">+<\/span><span style=\"color: #D8DEE9FF\"> high<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">\/\/<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">2<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">if<\/span><span style=\"color: #D8DEE9FF\"> numbers<\/span><span style=\"color: #ECEFF4\">&#91;<\/span><span style=\"color: #D8DEE9FF\">mid<\/span><span style=\"color: #ECEFF4\">&#93;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">==<\/span><span style=\"color: #D8DEE9FF\"> target<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #88C0D0\">print<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #81A1C1\">f<\/span><span style=\"color: #A3BE8C\">&quot;Element <\/span><span style=\"color: #EBCB8B\">{<\/span><span style=\"color: #D8DEE9FF\">target<\/span><span style=\"color: #EBCB8B\">}<\/span><span style=\"color: #A3BE8C\"> found at index <\/span><span style=\"color: #EBCB8B\">{<\/span><span style=\"color: #D8DEE9FF\">mid<\/span><span style=\"color: #EBCB8B\">}<\/span><span style=\"color: #A3BE8C\">&quot;<\/span><span style=\"color: #ECEFF4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        found <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">True<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #81A1C1\">break<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">elif<\/span><span style=\"color: #D8DEE9FF\"> numbers<\/span><span style=\"color: #ECEFF4\">&#91;<\/span><span style=\"color: #D8DEE9FF\">mid<\/span><span style=\"color: #ECEFF4\">&#93;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">&lt;<\/span><span style=\"color: #D8DEE9FF\"> target<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        low <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> mid <\/span><span style=\"color: #81A1C1\">+<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">1<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">else<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        high <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> mid <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">1<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">if<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">not<\/span><span style=\"color: #D8DEE9FF\"> found<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #88C0D0\">print<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #81A1C1\">f<\/span><span style=\"color: #A3BE8C\">&quot;Element <\/span><span style=\"color: #EBCB8B\">{<\/span><span style=\"color: #D8DEE9FF\">target<\/span><span style=\"color: #EBCB8B\">}<\/span><span style=\"color: #A3BE8C\"> not found&quot;<\/span><span style=\"color: #ECEFF4\">)<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">3.3 Ph\u00e2n t\u00edch<\/h3>\n\n\n\n<p>Binary Search r\u1ea5t hi\u1ec7u qu\u1ea3 v\u1edbi list \u0111\u00e3 s\u1eafp x\u1ebfp:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0110\u1ed9 ph\u1ee9c t\u1ea1p: <strong>O(log n)<\/strong><\/li>\n\n\n\n<li>V\u1edbi list l\u1edbn, t\u00ecm ki\u1ebfm nhanh h\u01a1n nhi\u1ec1u so v\u1edbi Linear Search.<br>Tuy nhi\u00ean, c\u1ea7n \u0111\u1ea3m b\u1ea3o list lu\u00f4n \u0111\u01b0\u1ee3c s\u1eafp x\u1ebfp tr\u01b0\u1edbc khi t\u00ecm ki\u1ebfm, n\u1ebfu kh\u00f4ng s\u1ebd d\u1eabn \u0111\u1ebfn k\u1ebft qu\u1ea3 sai.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">3.4 Khi n\u00e0o d\u00f9ng<\/h3>\n\n\n\n<p>Binary Search ph\u00f9 h\u1ee3p v\u1edbi c\u00e1c t\u00ecnh hu\u1ed1ng c\u1ea7n t\u00ecm ki\u1ebfm nhi\u1ec1u l\u1ea7n trong m\u1ed9t list l\u1edbn \u0111\u00e3 s\u1eafp x\u1ebfp, v\u00ed d\u1ee5: t\u00ecm s\u1ea3n ph\u1ea9m trong danh s\u00e1ch kho h\u00e0ng \u0111\u00e3 \u0111\u01b0\u1ee3c s\u1eafp x\u1ebfp theo ID.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">4. S\u1eed d\u1ee5ng th\u01b0 vi\u1ec7n <code>bisect<\/code><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">4.1 Gi\u1edbi thi\u1ec7u<\/h3>\n\n\n\n<p>Python cung c\u1ea5p module <strong><code>bisect<\/code><\/strong> \u0111\u1ec3 h\u1ed7 tr\u1ee3 t\u00ecm ki\u1ebfm nhanh trong list \u0111\u00e3 s\u1eafp x\u1ebfp. N\u00f3 th\u1ef1c hi\u1ec7n Binary Search d\u01b0\u1edbi d\u1ea1ng h\u00e0m ti\u1ec7n \u00edch, gi\u00fap ti\u1ebft ki\u1ec7m th\u1eddi gian v\u00e0 c\u00f4ng s\u1ee9c.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">4.2 V\u00ed d\u1ee5 minh h\u1ecda<\/h3>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>import bisect\n\n# Create a sorted list\nnumbers = &#91;10, 20, 30, 40, 50, 60&#93;\n\n# Value to search\ntarget = 40\n\n# Use bisect_left to find insertion index\nindex = bisect.bisect_left(numbers, target)\n\nif index &lt; len(numbers) and numbers&#91;index&#93; == target:\n    print(f\"Element {target} found at index {index}\")\nelse:\n    print(f\"Element {target} not found\")\n<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #81A1C1\">import<\/span><span style=\"color: #D8DEE9FF\"> bisect<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #616E88\"># Create a sorted list<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">numbers <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">&#91;<\/span><span style=\"color: #B48EAD\">10<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">20<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">30<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">40<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">50<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">60<\/span><span style=\"color: #ECEFF4\">&#93;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #616E88\"># Value to search<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">target <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">40<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #616E88\"># Use bisect_left to find insertion index<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">index <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> bisect<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #88C0D0\">bisect_left<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #D8DEE9FF\">numbers<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> target<\/span><span style=\"color: #ECEFF4\">)<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">if<\/span><span style=\"color: #D8DEE9FF\"> index <\/span><span style=\"color: #81A1C1\">&lt;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">len<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #D8DEE9FF\">numbers<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">and<\/span><span style=\"color: #D8DEE9FF\"> numbers<\/span><span style=\"color: #ECEFF4\">&#91;<\/span><span style=\"color: #D8DEE9FF\">index<\/span><span style=\"color: #ECEFF4\">&#93;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">==<\/span><span style=\"color: #D8DEE9FF\"> target<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #88C0D0\">print<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #81A1C1\">f<\/span><span style=\"color: #A3BE8C\">&quot;Element <\/span><span style=\"color: #EBCB8B\">{<\/span><span style=\"color: #D8DEE9FF\">target<\/span><span style=\"color: #EBCB8B\">}<\/span><span style=\"color: #A3BE8C\"> found at index <\/span><span style=\"color: #EBCB8B\">{<\/span><span style=\"color: #D8DEE9FF\">index<\/span><span style=\"color: #EBCB8B\">}<\/span><span style=\"color: #A3BE8C\">&quot;<\/span><span style=\"color: #ECEFF4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">else<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #88C0D0\">print<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #81A1C1\">f<\/span><span style=\"color: #A3BE8C\">&quot;Element <\/span><span style=\"color: #EBCB8B\">{<\/span><span style=\"color: #D8DEE9FF\">target<\/span><span style=\"color: #EBCB8B\">}<\/span><span style=\"color: #A3BE8C\"> not found&quot;<\/span><span style=\"color: #ECEFF4\">)<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">4.3 \u01afu \u0111i\u1ec3m<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Kh\u00f4ng c\u1ea7n vi\u1ebft thu\u1eadt to\u00e1n th\u1ee7 c\u00f4ng.<\/li>\n\n\n\n<li>Hi\u1ec7u su\u1ea5t cao cho list \u0111\u00e3 s\u1eafp x\u1ebfp.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">5. T\u00ecm ki\u1ebfm theo \u0111i\u1ec1u ki\u1ec7n t\u00f9y ch\u1ec9nh<\/h2>\n\n\n\n<p>Kh\u00f4ng ph\u1ea3i l\u00fac n\u00e0o t\u00ecm ki\u1ebfm c\u0169ng \u0111\u01a1n gi\u1ea3n l\u00e0 t\u00ecm m\u1ed9t gi\u00e1 tr\u1ecb c\u1ee5 th\u1ec3. \u0110\u00f4i khi, b\u1ea1n c\u1ea7n t\u00ecm ph\u1ea7n t\u1eed th\u1ecfa m\u1ed9t \u0111i\u1ec1u ki\u1ec7n \u0111\u1eb7c bi\u1ec7t.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">5.1 V\u00ed d\u1ee5: t\u00ecm ph\u1ea7n t\u1eed \u0111\u1ea7u ti\u00ean th\u1ecfa \u0111i\u1ec1u ki\u1ec7n<\/h3>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>numbers = &#91;11, 15, 18, 21, 30&#93;\n\n# Find first even number\nfor index, value in enumerate(numbers):\n    if value % 2 == 0:\n        print(f\"First even number is {value} at index {index}\")\n        break\n<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #D8DEE9FF\">numbers <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">&#91;<\/span><span style=\"color: #B48EAD\">11<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">15<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">18<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">21<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">30<\/span><span style=\"color: #ECEFF4\">&#93;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #616E88\"># Find first even number<\/span><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">for<\/span><span style=\"color: #D8DEE9FF\"> index<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> value <\/span><span style=\"color: #81A1C1\">in<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">enumerate<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #D8DEE9FF\">numbers<\/span><span style=\"color: #ECEFF4\">):<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">if<\/span><span style=\"color: #D8DEE9FF\"> value <\/span><span style=\"color: #81A1C1\">%<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">2<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">==<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">0<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #88C0D0\">print<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #81A1C1\">f<\/span><span style=\"color: #A3BE8C\">&quot;First even number is <\/span><span style=\"color: #EBCB8B\">{<\/span><span style=\"color: #D8DEE9FF\">value<\/span><span style=\"color: #EBCB8B\">}<\/span><span style=\"color: #A3BE8C\"> at index <\/span><span style=\"color: #EBCB8B\">{<\/span><span style=\"color: #D8DEE9FF\">index<\/span><span style=\"color: #EBCB8B\">}<\/span><span style=\"color: #A3BE8C\">&quot;<\/span><span style=\"color: #ECEFF4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #81A1C1\">break<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">5.2 V\u00ed d\u1ee5: t\u00ecm t\u1ea5t c\u1ea3 ph\u1ea7n t\u1eed th\u1ecfa \u0111i\u1ec1u ki\u1ec7n<\/h3>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>numbers = &#91;5, 12, 18, 7, 30, 2&#93;\n\n# Find all numbers greater than 10\ngreater_than_10 = &#91;value for value in numbers if value > 10&#93;\n\nprint(\"Elements greater than 10:\", greater_than_10)\n<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #D8DEE9FF\">numbers <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">&#91;<\/span><span style=\"color: #B48EAD\">5<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">12<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">18<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">7<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">30<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">2<\/span><span style=\"color: #ECEFF4\">&#93;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #616E88\"># Find all numbers greater than 10<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">greater_than_10 <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">&#91;<\/span><span style=\"color: #D8DEE9FF\">value <\/span><span style=\"color: #81A1C1\">for<\/span><span style=\"color: #D8DEE9FF\"> value <\/span><span style=\"color: #81A1C1\">in<\/span><span style=\"color: #D8DEE9FF\"> numbers <\/span><span style=\"color: #81A1C1\">if<\/span><span style=\"color: #D8DEE9FF\"> value <\/span><span style=\"color: #81A1C1\">&gt;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">10<\/span><span style=\"color: #ECEFF4\">&#93;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">print<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">Elements greater than 10:<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> greater_than_10<\/span><span style=\"color: #ECEFF4\">)<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre><\/div>\n\n\n\n<p>T\u00ecm ki\u1ebfm theo \u0111i\u1ec1u ki\u1ec7n m\u1edf r\u1ed9ng kh\u1ea3 n\u0103ng \u1ee9ng d\u1ee5ng c\u1ee7a list, \u0111\u1eb7c bi\u1ec7t trong x\u1eed l\u00fd d\u1eef li\u1ec7u l\u1edbn ho\u1eb7c ph\u1ee9c t\u1ea1p.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">6. C\u00e1c thu\u1eadt to\u00e1n t\u00ecm ki\u1ebfm n\u00e2ng cao trong List<\/h2>\n\n\n\n<p>Ngo\u00e0i Linear Search v\u00e0 Binary Search, c\u00f2n c\u00f3 m\u1ed9t s\u1ed1 thu\u1eadt to\u00e1n n\u00e2ng cao kh\u00e1c:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">6.1 Jump Search<\/h3>\n\n\n\n<p>Jump Search chia list th\u00e0nh c\u00e1c \u0111o\u1ea1n c\u1ed1 \u0111\u1ecbnh (b\u01b0\u1edbc nh\u1ea3y \u221an) \u0111\u1ec3 t\u00ecm \u0111o\u1ea1n ch\u1ee9a gi\u00e1 tr\u1ecb c\u1ea7n t\u00ecm. Sau \u0111\u00f3, t\u00ecm tuy\u1ebfn t\u00ednh trong \u0111o\u1ea1n \u0111\u00f3.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0110\u1ed9 ph\u1ee9c t\u1ea1p: O(\u221an)<\/li>\n\n\n\n<li>\u01afu \u0111i\u1ec3m: nhanh h\u01a1n Linear Search, d\u1ec5 c\u00e0i \u0111\u1eb7t.<\/li>\n\n\n\n<li>Nh\u01b0\u1ee3c \u0111i\u1ec3m: c\u1ea7n list \u0111\u00e3 s\u1eafp x\u1ebfp.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">6.2 Exponential Search<\/h3>\n\n\n\n<p>Exponential Search t\u0103ng ch\u1ec9 s\u1ed1 t\u00ecm ki\u1ebfm theo l\u0169y th\u1eeba 2 \u2192 Binary Search trong \u0111o\u1ea1n t\u00ecm \u0111\u01b0\u1ee3c.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0110\u1ed9 ph\u1ee9c t\u1ea1p: O(log n)<\/li>\n\n\n\n<li>\u01afu \u0111i\u1ec3m: hi\u1ec7u qu\u1ea3 v\u1edbi list r\u1ea5t l\u1edbn.<\/li>\n\n\n\n<li>Nh\u01b0\u1ee3c \u0111i\u1ec3m: y\u00eau c\u1ea7u list ph\u1ea3i s\u1eafp x\u1ebfp.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">6.3 Interpolation Search<\/h3>\n\n\n\n<p>D\u1ef1 \u0111o\u00e1n v\u1ecb tr\u00ed c\u1ea7n t\u00ecm d\u1ef1a tr\u00ean gi\u00e1 tr\u1ecb \u2192 nh\u1ea3y tr\u1ef1c ti\u1ebfp \u0111\u1ebfn v\u1ecb tr\u00ed g\u1ea7n \u0111\u00fang.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0110\u1ed9 ph\u1ee9c t\u1ea1p trung b\u00ecnh: O(log log n)<\/li>\n\n\n\n<li>Y\u00eau c\u1ea7u: d\u1eef li\u1ec7u ph\u00e2n b\u1ed1 \u0111\u1ec1u v\u00e0 \u0111\u00e3 s\u1eafp x\u1ebfp.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">6.4 Fibonacci Search<\/h3>\n\n\n\n<p>Chia nh\u1ecf list theo d\u00e3y Fibonacci thay v\u00ec chia \u0111\u00f4i nh\u01b0 Binary Search.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0110\u1ed9 ph\u1ee9c t\u1ea1p: O(log n)<\/li>\n\n\n\n<li>\u01afu \u0111i\u1ec3m: ph\u00f9 h\u1ee3p v\u1edbi b\u1ed9 nh\u1edb cache.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">6.5 Hashing<\/h3>\n\n\n\n<p>T\u1ea1o b\u1ea3ng b\u0103m t\u1eeb list \u2192 tra c\u1ee9u O(1) trung b\u00ecnh.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u01afu \u0111i\u1ec3m: t\u00ecm c\u1ef1c nhanh.<\/li>\n\n\n\n<li>Nh\u01b0\u1ee3c \u0111i\u1ec3m: t\u1ed1n th\u00eam b\u1ed9 nh\u1edb \u0111\u1ec3 l\u01b0u b\u1ea3ng b\u0103m.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">7. So s\u00e1nh c\u00e1c ph\u01b0\u01a1ng ph\u00e1p t\u00ecm ki\u1ebfm trong List<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Ph\u01b0\u01a1ng ph\u00e1p<\/th><th>Y\u00eau c\u1ea7u s\u1eafp x\u1ebfp<\/th><th>\u0110\u1ed9 ph\u1ee9c t\u1ea1p<\/th><th>Khi n\u00e0o d\u00f9ng<\/th><\/tr><\/thead><tbody><tr><td>Linear Search<\/td><td>Kh\u00f4ng<\/td><td>O(n)<\/td><td>List nh\u1ecf ho\u1eb7c ch\u01b0a s\u1eafp x\u1ebfp<\/td><\/tr><tr><td>Binary Search<\/td><td>C\u00f3<\/td><td>O(log n)<\/td><td>List l\u1edbn, \u0111\u00e3 s\u1eafp x\u1ebfp<\/td><\/tr><tr><td>Bisect<\/td><td>C\u00f3<\/td><td>O(log n)<\/td><td>List l\u1edbn \u0111\u00e3 s\u1eafp x\u1ebfp<\/td><\/tr><tr><td>Jump Search<\/td><td>C\u00f3<\/td><td>O(\u221an)<\/td><td>List \u0111\u00e3 s\u1eafp x\u1ebfp v\u1eeba<\/td><\/tr><tr><td>Exponential Search<\/td><td>C\u00f3<\/td><td>O(log n)<\/td><td>List r\u1ea5t l\u1edbn<\/td><\/tr><tr><td>Interpolation<\/td><td>C\u00f3<\/td><td>O(log log n)<\/td><td>D\u1eef li\u1ec7u ph\u00e2n b\u1ed1 \u0111\u1ec1u<\/td><\/tr><tr><td>Fibonacci Search<\/td><td>C\u00f3<\/td><td>O(log n)<\/td><td>List \u0111\u00e3 s\u1eafp x\u1ebfp<\/td><\/tr><tr><td>Hashing<\/td><td>Kh\u00f4ng<\/td><td>O(1)<\/td><td>Tra c\u1ee9u nhi\u1ec1u l\u1ea7n<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">8. \u1ee8ng d\u1ee5ng th\u1ef1c t\u1ebf<\/h2>\n\n\n\n<p>T\u00ecm ki\u1ebfm ph\u1ea7n t\u1eed trong list Python xu\u1ea5t hi\u1ec7n \u1edf r\u1ea5t nhi\u1ec1u t\u00ecnh hu\u1ed1ng:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Qu\u1ea3n l\u00fd d\u1eef li\u1ec7u ng\u01b0\u1eddi d\u00f9ng ho\u1eb7c s\u1ea3n ph\u1ea9m.<\/li>\n\n\n\n<li>X\u1eed l\u00fd d\u1eef li\u1ec7u c\u1ea3m bi\u1ebfn ho\u1eb7c API.<\/li>\n\n\n\n<li>Tra c\u1ee9u d\u1eef li\u1ec7u l\u1edbn trong h\u1ec7 th\u1ed1ng.<\/li>\n<\/ul>\n\n\n\n<p>V\u00ed d\u1ee5: H\u1ec7 th\u1ed1ng qu\u1ea3n l\u00fd kho c\u1ea7n t\u00ecm s\u1ea3n ph\u1ea9m theo ID \u2192 d\u00f9ng Binary Search ho\u1eb7c Hashing \u0111\u1ec3 t\u0103ng t\u1ed1c \u0111\u1ed9.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">9. K\u1ebft lu\u1eadn<\/h2>\n\n\n\n<p>Vi\u1ec7c ch\u1ecdn \u0111\u00fang thu\u1eadt to\u00e1n t\u00ecm ki\u1ebfm trong list Python s\u1ebd gi\u00fap c\u1ea3i thi\u1ec7n hi\u1ec7u su\u1ea5t \u1ee9ng d\u1ee5ng \u0111\u00e1ng k\u1ec3. M\u1ed7i ph\u01b0\u01a1ng ph\u00e1p c\u00f3 \u01b0u \u2013 nh\u01b0\u1ee3c \u0111i\u1ec3m ri\u00eang, v\u00e0 vi\u1ec7c hi\u1ec3u r\u00f5 ch\u00fang s\u1ebd gi\u00fap b\u1ea1n \u00e1p d\u1ee5ng \u0111\u00fang c\u00e1ch trong t\u1eebng tr\u01b0\u1eddng h\u1ee3p.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">10. T\u00e0i li\u1ec7u tham kh\u1ea3o<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Python Software Foundation. <em>Built-in Types \u2014 list<\/em>. Python Documentation. Truy c\u1eadp t\u1ea1i: <a>https:\/\/docs.python.org\/3\/library\/stdtypes.html#list<\/a><\/li>\n\n\n\n<li>Python Software Foundation. <em>bisect \u2014 Array bisection algorithm<\/em>. Python Documentation. Truy c\u1eadp t\u1ea1i: <a>https:\/\/docs.python.org\/3\/library\/bisect.html<\/a><\/li>\n\n\n\n<li>Cormen, T. H., Leiserson, C. E., Rivest, R. L., &amp; Stein, C. (2009). <em>Introduction to Algorithms<\/em> (3rd ed.). MIT Press.<\/li>\n\n\n\n<li>Python for Professionals: Learning Python as a Second Language: <a href=\"https:\/\/click.linksynergy.com\/link?id=*C\/UgjGtUZ8&amp;offerid=1562891.3721710002222624882405978&amp;type=15&amp;murl=https%3A%2F%2Fwww.kobo.com%2Fus%2Fen%2Febook%2Fpython-for-professionals-3\" target=\"_blank\" rel=\"noopener\">https:\/\/www.kobo.com\/us\/en\/ebook\/python-for-professionals-3<\/a><\/li>\n\n\n\n<li>Python: Deeper Insights into Machine Learning: <a href=\"https:\/\/click.linksynergy.com\/link?id=*C\/UgjGtUZ8&amp;offerid=1562891.3721710015810095319857183&amp;type=15&amp;murl=https%3A%2F%2Fwww.kobo.com%2Fus%2Fen%2Febook%2Fpython-deeper-insights-into-machine-learning\" target=\"_blank\" rel=\"noopener\">https:\/\/www.kobo.com\/us\/en\/ebook\/python-deeper-insights-into-machine-learning<\/a><\/li>\n\n\n\n<li>DataFusion Python Bindings in Practice: The Complete Guide for Developers and Engineers: <a href=\"https:\/\/click.linksynergy.com\/link?id=*C\/UgjGtUZ8&amp;offerid=1562891.3721710049093362364820452&amp;type=15&amp;murl=https%3A%2F%2Fwww.kobo.com%2Fus%2Fen%2Febook%2Fdatafusion-python-bindings-in-practice\" target=\"_blank\" rel=\"noopener\">https:\/\/www.kobo.com\/us\/en\/ebook\/datafusion-python-bindings-in-practice<\/a><\/li>\n<\/ol>\n","protected":false},"excerpt":{"rendered":"<p>Trong l\u1eadp tr\u00ecnh Python, list l\u00e0 m\u1ed9t trong nh\u1eefng ki\u1ec3u d\u1eef li\u1ec7u ph\u1ed5 bi\u1ebfn nh\u1ea5t. Ch\u00fang&hellip;<\/p>\n","protected":false},"author":1,"featured_media":824,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"googlesitekit_rrm_CAowieHDDA:productID":"","footnotes":""},"categories":[41],"tags":[40],"class_list":["post-1518","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-kien-thuc-lap-trinh","tag-python-co-ban"],"_links":{"self":[{"href":"https:\/\/kienthucmo.com\/vi\/wp-json\/wp\/v2\/posts\/1518","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kienthucmo.com\/vi\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kienthucmo.com\/vi\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kienthucmo.com\/vi\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kienthucmo.com\/vi\/wp-json\/wp\/v2\/comments?post=1518"}],"version-history":[{"count":2,"href":"https:\/\/kienthucmo.com\/vi\/wp-json\/wp\/v2\/posts\/1518\/revisions"}],"predecessor-version":[{"id":2451,"href":"https:\/\/kienthucmo.com\/vi\/wp-json\/wp\/v2\/posts\/1518\/revisions\/2451"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kienthucmo.com\/vi\/wp-json\/wp\/v2\/media\/824"}],"wp:attachment":[{"href":"https:\/\/kienthucmo.com\/vi\/wp-json\/wp\/v2\/media?parent=1518"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kienthucmo.com\/vi\/wp-json\/wp\/v2\/categories?post=1518"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kienthucmo.com\/vi\/wp-json\/wp\/v2\/tags?post=1518"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}