[{"data":1,"prerenderedAt":2601},["ShallowReactive",2],{"doc-\u002Ferrors\u002Findexerror-in-python-causes-and-fixes":3},{"id":4,"title":5,"body":6,"description":2594,"extension":2595,"meta":2596,"navigation":159,"path":2597,"seo":2598,"stem":2599,"__hash__":2600},"content\u002Ferrors\u002Findexerror-in-python-causes-and-fixes.md","IndexError in Python: Causes and Fixes",{"type":7,"value":8,"toc":2555},"minimark",[9,13,21,24,37,48,51,66,75,80,83,239,242,251,261,265,270,273,284,287,295,298,395,397,416,423,430,434,439,463,466,499,503,506,564,567,591,597,600,681,688,691,726,737,741,744,749,752,857,861,868,945,948,980,983,1005,1009,1018,1021,1108,1111,1187,1189,1205,1212,1216,1225,1304,1306,1332,1335,1339,1342,1374,1377,1438,1442,1445,1449,1478,1481,1484,1545,1549,1630,1639,1641,1726,1730,1733,1800,1810,1817,1821,1888,1902,1906,1912,1916,1978,1982,2006,2010,2044,2048,2051,2130,2134,2137,2140,2232,2235,2249,2253,2256,2259,2264,2267,2310,2314,2319,2321,2375,2382,2385,2390,2392,2447,2454,2458,2462,2465,2469,2478,2482,2487,2491,2497,2501,2510,2514,2551],[10,11,5],"h1",{"id":12},"indexerror-in-python-causes-and-fixes",[14,15,16,20],"p",{},[17,18,19],"code",{},"IndexError"," means your code tried to use a position that does not exist in a sequence.",[14,22,23],{},"This usually happens with:",[25,26,27,31,34],"ul",{},[28,29,30],"li",{},"lists",[28,32,33],{},"tuples",[28,35,36],{},"strings",[14,38,39,40,43,44,47],{},"In Python, indexing starts at ",[17,41,42],{},"0",", not ",[17,45,46],{},"1",".",[14,49,50],{},"So if a list has 3 items, the valid indexes are:",[25,52,53,57,61],{},[28,54,55],{},[17,56,42],{},[28,58,59],{},[17,60,46],{},[28,62,63],{},[17,64,65],{},"2",[14,67,68,69,72,73,47],{},"If you try to access index ",[17,70,71],{},"3",", Python raises an ",[17,74,19],{},[76,77,79],"h2",{"id":78},"quick-fix","Quick fix",[14,81,82],{},"If you are not sure whether an index exists, check it before using it:",[84,85,90],"pre",{"className":86,"code":87,"language":88,"meta":89,"style":89},"language-python shiki shiki-themes material-theme-lighter github-light github-dark","items = [\"a\", \"b\", \"c\"]\nindex = 2\n\nif 0 \u003C= index \u003C len(items):\n    print(items[index])\nelse:\n    print(\"Index is out of range\")\n","python","",[17,91,92,142,154,161,194,213,222],{"__ignoreMap":89},[93,94,97,101,105,109,113,117,119,122,125,128,130,132,134,137,139],"span",{"class":95,"line":96},"line",1,[93,98,100],{"class":99},"su5hD","items ",[93,102,104],{"class":103},"smGrS","=",[93,106,108],{"class":107},"sP7_E"," [",[93,110,112],{"class":111},"sjJ54","\"",[93,114,116],{"class":115},"s_sjI","a",[93,118,112],{"class":111},[93,120,121],{"class":107},",",[93,123,124],{"class":111}," \"",[93,126,127],{"class":115},"b",[93,129,112],{"class":111},[93,131,121],{"class":107},[93,133,124],{"class":111},[93,135,136],{"class":115},"c",[93,138,112],{"class":111},[93,140,141],{"class":107},"]\n",[93,143,145,148,150],{"class":95,"line":144},2,[93,146,147],{"class":99},"index ",[93,149,104],{"class":103},[93,151,153],{"class":152},"srdBf"," 2\n",[93,155,157],{"class":95,"line":156},3,[93,158,160],{"emptyLinePlaceholder":159},true,"\n",[93,162,164,168,171,174,177,180,184,187,191],{"class":95,"line":163},4,[93,165,167],{"class":166},"sVHd0","if",[93,169,170],{"class":152}," 0",[93,172,173],{"class":103}," \u003C=",[93,175,176],{"class":99}," index ",[93,178,179],{"class":103},"\u003C",[93,181,183],{"class":182},"sptTA"," len",[93,185,186],{"class":107},"(",[93,188,190],{"class":189},"slqww","items",[93,192,193],{"class":107},"):\n",[93,195,197,200,202,204,207,210],{"class":95,"line":196},5,[93,198,199],{"class":182},"    print",[93,201,186],{"class":107},[93,203,190],{"class":189},[93,205,206],{"class":107},"[",[93,208,209],{"class":189},"index",[93,211,212],{"class":107},"])\n",[93,214,216,219],{"class":95,"line":215},6,[93,217,218],{"class":166},"else",[93,220,221],{"class":107},":\n",[93,223,225,227,229,231,234,236],{"class":95,"line":224},7,[93,226,199],{"class":182},[93,228,186],{"class":107},[93,230,112],{"class":111},[93,232,233],{"class":115},"Index is out of range",[93,235,112],{"class":111},[93,237,238],{"class":107},")\n",[14,240,241],{},"Output:",[84,243,245],{"className":86,"code":244,"language":88,"meta":89,"style":89},"c\n",[17,246,247],{"__ignoreMap":89},[93,248,249],{"class":95,"line":96},[93,250,244],{"class":99},[14,252,253,254,260],{},"Use ",[116,255,257],{"href":256},"\u002Freference\u002Fpython-len-function-explained\u002F",[17,258,259],{},"len()"," to make sure the index is inside the valid range.",[76,262,264],{"id":263},"what-indexerror-means","What IndexError means",[14,266,267,269],{},[17,268,19],{}," happens when you try to access a position that is outside the valid range of a sequence.",[14,271,272],{},"Common examples:",[25,274,275,278,281],{},[28,276,277],{},"asking for an item past the end of a list",[28,279,280],{},"using a negative index that goes too far left",[28,282,283],{},"reading the first item from an empty list",[14,285,286],{},"It usually appears with:",[25,288,289,291,293],{},[28,290,30],{},[28,292,33],{},[28,294,36],{},[14,296,297],{},"Python uses zero-based indexing:",[84,299,301],{"className":86,"code":300,"language":88,"meta":89,"style":89},"letters = [\"a\", \"b\", \"c\"]\n\nprint(letters[0])  # first item\nprint(letters[1])  # second item\nprint(letters[2])  # third item\n",[17,302,303,336,340,361,378],{"__ignoreMap":89},[93,304,305,308,310,312,314,316,318,320,322,324,326,328,330,332,334],{"class":95,"line":96},[93,306,307],{"class":99},"letters ",[93,309,104],{"class":103},[93,311,108],{"class":107},[93,313,112],{"class":111},[93,315,116],{"class":115},[93,317,112],{"class":111},[93,319,121],{"class":107},[93,321,124],{"class":111},[93,323,127],{"class":115},[93,325,112],{"class":111},[93,327,121],{"class":107},[93,329,124],{"class":111},[93,331,136],{"class":115},[93,333,112],{"class":111},[93,335,141],{"class":107},[93,337,338],{"class":95,"line":144},[93,339,160],{"emptyLinePlaceholder":159},[93,341,342,345,347,350,352,354,357],{"class":95,"line":156},[93,343,344],{"class":182},"print",[93,346,186],{"class":107},[93,348,349],{"class":189},"letters",[93,351,206],{"class":107},[93,353,42],{"class":152},[93,355,356],{"class":107},"])",[93,358,360],{"class":359},"sutJx","  # first item\n",[93,362,363,365,367,369,371,373,375],{"class":95,"line":163},[93,364,344],{"class":182},[93,366,186],{"class":107},[93,368,349],{"class":189},[93,370,206],{"class":107},[93,372,46],{"class":152},[93,374,356],{"class":107},[93,376,377],{"class":359},"  # second item\n",[93,379,380,382,384,386,388,390,392],{"class":95,"line":196},[93,381,344],{"class":182},[93,383,186],{"class":107},[93,385,349],{"class":189},[93,387,206],{"class":107},[93,389,65],{"class":152},[93,391,356],{"class":107},[93,393,394],{"class":359},"  # third item\n",[14,396,241],{},[84,398,400],{"className":86,"code":399,"language":88,"meta":89,"style":89},"a\nb\nc\n",[17,401,402,407,412],{"__ignoreMap":89},[93,403,404],{"class":95,"line":96},[93,405,406],{"class":99},"a\n",[93,408,409],{"class":95,"line":144},[93,410,411],{"class":99},"b\n",[93,413,414],{"class":95,"line":156},[93,415,244],{"class":99},[14,417,418,419,422],{},"There is no ",[17,420,421],{},"letters[3]"," here, because the list only has 3 items.",[14,424,425,426,47],{},"If you need a beginner-friendly explanation of list positions, see ",[116,427,429],{"href":428},"\u002Flearn\u002Fpython-lists-explained-beginner-guide\u002F","Python lists explained",[76,431,433],{"id":432},"when-this-error-usually-happens","When this error usually happens",[14,435,436,438],{},[17,437,19],{}," often appears in these situations:",[25,440,441,444,447,457,460],{},[28,442,443],{},"Using an index that is too large",[28,445,446],{},"Using a negative index that goes past the start of the sequence",[28,448,449,450,456],{},"Looping with the wrong ",[116,451,453],{"href":452},"\u002Freference\u002Fpython-range-function-explained\u002F",[17,454,455],{},"range()"," values",[28,458,459],{},"Removing items, then trying to access an old index",[28,461,462],{},"Reading user input and using it directly as an index",[14,464,465],{},"Here are a few common causes:",[25,467,468,475,482,489,496],{},[28,469,470,471,474],{},"Trying to access ",[17,472,473],{},"items[len(items)]"," instead of the last valid item",[28,476,477,478,481],{},"Using ",[17,479,480],{},"range(len(items) + 1)"," in a loop",[28,483,484,485,488],{},"Accessing ",[17,486,487],{},"[0]"," on an empty list",[28,490,491,492,495],{},"Using a number from ",[17,493,494],{},"input()"," without checking it",[28,497,498],{},"Using indexes after the sequence size changed",[76,500,502],{"id":501},"example-that-causes-indexerror","Example that causes IndexError",[14,504,505],{},"Here is a simple example:",[84,507,509],{"className":86,"code":508,"language":88,"meta":89,"style":89},"items = [\"apple\", \"banana\", \"cherry\"]\n\nprint(items[3])\n",[17,510,511,546,550],{"__ignoreMap":89},[93,512,513,515,517,519,521,524,526,528,530,533,535,537,539,542,544],{"class":95,"line":96},[93,514,100],{"class":99},[93,516,104],{"class":103},[93,518,108],{"class":107},[93,520,112],{"class":111},[93,522,523],{"class":115},"apple",[93,525,112],{"class":111},[93,527,121],{"class":107},[93,529,124],{"class":111},[93,531,532],{"class":115},"banana",[93,534,112],{"class":111},[93,536,121],{"class":107},[93,538,124],{"class":111},[93,540,541],{"class":115},"cherry",[93,543,112],{"class":111},[93,545,141],{"class":107},[93,547,548],{"class":95,"line":144},[93,549,160],{"emptyLinePlaceholder":159},[93,551,552,554,556,558,560,562],{"class":95,"line":156},[93,553,344],{"class":182},[93,555,186],{"class":107},[93,557,190],{"class":189},[93,559,206],{"class":107},[93,561,71],{"class":152},[93,563,212],{"class":107},[14,565,566],{},"This list has 3 items, so the valid indexes are:",[25,568,569,577,584],{},[28,570,571,573,574],{},[17,572,42],{}," → ",[17,575,576],{},"\"apple\"",[28,578,579,573,581],{},[17,580,46],{},[17,582,583],{},"\"banana\"",[28,585,586,573,588],{},[17,587,65],{},[17,589,590],{},"\"cherry\"",[14,592,593,594,596],{},"Index ",[17,595,71],{}," does not exist.",[14,598,599],{},"Python raises this error:",[84,601,603],{"className":86,"code":602,"language":88,"meta":89,"style":89},"Traceback (most recent call last):\n  File \"example.py\", line 3, in \u003Cmodule>\n    print(items[3])\nIndexError: list index out of range\n",[17,604,605,617,650,664],{"__ignoreMap":89},[93,606,607,610,612,615],{"class":95,"line":96},[93,608,609],{"class":189},"Traceback ",[93,611,186],{"class":107},[93,613,614],{"class":189},"most recent call last",[93,616,193],{"class":107},[93,618,619,622,624,627,629,631,634,636,638,641,644,647],{"class":95,"line":144},[93,620,621],{"class":99},"  File ",[93,623,112],{"class":111},[93,625,626],{"class":115},"example.py",[93,628,112],{"class":111},[93,630,121],{"class":107},[93,632,633],{"class":99}," line ",[93,635,71],{"class":152},[93,637,121],{"class":107},[93,639,640],{"class":103}," in",[93,642,643],{"class":103}," \u003C",[93,645,646],{"class":99},"module",[93,648,649],{"class":103},">\n",[93,651,652,654,656,658,660,662],{"class":95,"line":156},[93,653,199],{"class":182},[93,655,186],{"class":107},[93,657,190],{"class":189},[93,659,206],{"class":107},[93,661,71],{"class":152},[93,663,212],{"class":107},[93,665,666,669,672,675,678],{"class":95,"line":163},[93,667,19],{"class":668},"sZMiF",[93,670,671],{"class":107},":",[93,673,674],{"class":668}," list",[93,676,677],{"class":99}," index out of ",[93,679,680],{"class":182},"range\n",[14,682,683,684,47],{},"If you are dealing with this exact message, see ",[116,685,687],{"href":686},"\u002Ferrors\u002Findexerror-list-index-out-of-range-fix-explained\u002F","IndexError: list index out of range fix explained",[14,689,690],{},"Strings can raise the same kind of error:",[84,692,694],{"className":86,"code":693,"language":88,"meta":89,"style":89},"word = \"cat\"\nprint(word[3])\n",[17,695,696,711],{"__ignoreMap":89},[93,697,698,701,703,705,708],{"class":95,"line":96},[93,699,700],{"class":99},"word ",[93,702,104],{"class":103},[93,704,124],{"class":111},[93,706,707],{"class":115},"cat",[93,709,710],{"class":111},"\"\n",[93,712,713,715,717,720,722,724],{"class":95,"line":144},[93,714,344],{"class":182},[93,716,186],{"class":107},[93,718,719],{"class":189},"word",[93,721,206],{"class":107},[93,723,71],{"class":152},[93,725,212],{"class":107},[14,727,728,729,731,732,734,735,47],{},"This also fails because valid indexes are ",[17,730,42],{},", ",[17,733,46],{},", and ",[17,736,65],{},[76,738,740],{"id":739},"how-to-fix-indexerror","How to fix IndexError",[14,742,743],{},"There is no single fix for every case. The right solution depends on why the bad index happened.",[745,746,748],"h3",{"id":747},"check-the-length-first-with-len","Check the length first with len()",[14,750,751],{},"If an index may or may not exist, check it first:",[84,753,755],{"className":86,"code":754,"language":88,"meta":89,"style":89},"items = [\"a\", \"b\", \"c\"]\nindex = 1\n\nif 0 \u003C= index \u003C len(items):\n    print(items[index])\nelse:\n    print(\"Invalid index\")\n",[17,756,757,789,798,802,822,836,842],{"__ignoreMap":89},[93,758,759,761,763,765,767,769,771,773,775,777,779,781,783,785,787],{"class":95,"line":96},[93,760,100],{"class":99},[93,762,104],{"class":103},[93,764,108],{"class":107},[93,766,112],{"class":111},[93,768,116],{"class":115},[93,770,112],{"class":111},[93,772,121],{"class":107},[93,774,124],{"class":111},[93,776,127],{"class":115},[93,778,112],{"class":111},[93,780,121],{"class":107},[93,782,124],{"class":111},[93,784,136],{"class":115},[93,786,112],{"class":111},[93,788,141],{"class":107},[93,790,791,793,795],{"class":95,"line":144},[93,792,147],{"class":99},[93,794,104],{"class":103},[93,796,797],{"class":152}," 1\n",[93,799,800],{"class":95,"line":156},[93,801,160],{"emptyLinePlaceholder":159},[93,803,804,806,808,810,812,814,816,818,820],{"class":95,"line":163},[93,805,167],{"class":166},[93,807,170],{"class":152},[93,809,173],{"class":103},[93,811,176],{"class":99},[93,813,179],{"class":103},[93,815,183],{"class":182},[93,817,186],{"class":107},[93,819,190],{"class":189},[93,821,193],{"class":107},[93,823,824,826,828,830,832,834],{"class":95,"line":196},[93,825,199],{"class":182},[93,827,186],{"class":107},[93,829,190],{"class":189},[93,831,206],{"class":107},[93,833,209],{"class":189},[93,835,212],{"class":107},[93,837,838,840],{"class":95,"line":215},[93,839,218],{"class":166},[93,841,221],{"class":107},[93,843,844,846,848,850,853,855],{"class":95,"line":224},[93,845,199],{"class":182},[93,847,186],{"class":107},[93,849,112],{"class":111},[93,851,852],{"class":115},"Invalid index",[93,854,112],{"class":111},[93,856,238],{"class":107},[745,858,860],{"id":859},"use-valid-index-values-only","Use valid index values only",[14,862,863,864,867],{},"A common mistake is using ",[17,865,866],{},"len(items)"," as an index.",[84,869,871],{"className":86,"code":870,"language":88,"meta":89,"style":89},"items = [\"a\", \"b\", \"c\"]\n\nprint(len(items))   # 3\nprint(items[2])     # last valid item\n",[17,872,873,905,909,928],{"__ignoreMap":89},[93,874,875,877,879,881,883,885,887,889,891,893,895,897,899,901,903],{"class":95,"line":96},[93,876,100],{"class":99},[93,878,104],{"class":103},[93,880,108],{"class":107},[93,882,112],{"class":111},[93,884,116],{"class":115},[93,886,112],{"class":111},[93,888,121],{"class":107},[93,890,124],{"class":111},[93,892,127],{"class":115},[93,894,112],{"class":111},[93,896,121],{"class":107},[93,898,124],{"class":111},[93,900,136],{"class":115},[93,902,112],{"class":111},[93,904,141],{"class":107},[93,906,907],{"class":95,"line":144},[93,908,160],{"emptyLinePlaceholder":159},[93,910,911,913,915,918,920,922,925],{"class":95,"line":156},[93,912,344],{"class":182},[93,914,186],{"class":107},[93,916,917],{"class":182},"len",[93,919,186],{"class":107},[93,921,190],{"class":189},[93,923,924],{"class":107},"))",[93,926,927],{"class":359},"   # 3\n",[93,929,930,932,934,936,938,940,942],{"class":95,"line":163},[93,931,344],{"class":182},[93,933,186],{"class":107},[93,935,190],{"class":189},[93,937,206],{"class":107},[93,939,65],{"class":152},[93,941,356],{"class":107},[93,943,944],{"class":359},"     # last valid item\n",[14,946,947],{},"If you want the last item, use:",[84,949,951],{"className":86,"code":950,"language":88,"meta":89,"style":89},"print(items[len(items) - 1])\n",[17,952,953],{"__ignoreMap":89},[93,954,955,957,959,961,963,965,967,969,972,975,978],{"class":95,"line":96},[93,956,344],{"class":182},[93,958,186],{"class":107},[93,960,190],{"class":189},[93,962,206],{"class":107},[93,964,917],{"class":182},[93,966,186],{"class":107},[93,968,190],{"class":189},[93,970,971],{"class":107},")",[93,973,974],{"class":103}," -",[93,976,977],{"class":152}," 1",[93,979,212],{"class":107},[14,981,982],{},"Or more simply:",[84,984,986],{"className":86,"code":985,"language":88,"meta":89,"style":89},"print(items[-1])\n",[17,987,988],{"__ignoreMap":89},[93,989,990,992,994,996,998,1001,1003],{"class":95,"line":96},[93,991,344],{"class":182},[93,993,186],{"class":107},[93,995,190],{"class":189},[93,997,206],{"class":107},[93,999,1000],{"class":103},"-",[93,1002,46],{"class":152},[93,1004,212],{"class":107},[745,1006,1008],{"id":1007},"fix-loop-ranges","Fix loop ranges",[14,1010,1011,1012,1015,1016,47],{},"A loop should stop before ",[17,1013,1014],{},"len(sequence)",", not at ",[17,1017,1014],{},[14,1019,1020],{},"Wrong:",[84,1022,1024],{"className":86,"code":1023,"language":88,"meta":89,"style":89},"items = [\"a\", \"b\", \"c\"]\n\nfor i in range(len(items) + 1):\n    print(items[i])\n",[17,1025,1026,1058,1062,1093],{"__ignoreMap":89},[93,1027,1028,1030,1032,1034,1036,1038,1040,1042,1044,1046,1048,1050,1052,1054,1056],{"class":95,"line":96},[93,1029,100],{"class":99},[93,1031,104],{"class":103},[93,1033,108],{"class":107},[93,1035,112],{"class":111},[93,1037,116],{"class":115},[93,1039,112],{"class":111},[93,1041,121],{"class":107},[93,1043,124],{"class":111},[93,1045,127],{"class":115},[93,1047,112],{"class":111},[93,1049,121],{"class":107},[93,1051,124],{"class":111},[93,1053,136],{"class":115},[93,1055,112],{"class":111},[93,1057,141],{"class":107},[93,1059,1060],{"class":95,"line":144},[93,1061,160],{"emptyLinePlaceholder":159},[93,1063,1064,1067,1070,1073,1076,1078,1080,1082,1084,1086,1089,1091],{"class":95,"line":156},[93,1065,1066],{"class":166},"for",[93,1068,1069],{"class":99}," i ",[93,1071,1072],{"class":166},"in",[93,1074,1075],{"class":182}," range",[93,1077,186],{"class":107},[93,1079,917],{"class":182},[93,1081,186],{"class":107},[93,1083,190],{"class":189},[93,1085,971],{"class":107},[93,1087,1088],{"class":103}," +",[93,1090,977],{"class":152},[93,1092,193],{"class":107},[93,1094,1095,1097,1099,1101,1103,1106],{"class":95,"line":163},[93,1096,199],{"class":182},[93,1098,186],{"class":107},[93,1100,190],{"class":189},[93,1102,206],{"class":107},[93,1104,1105],{"class":189},"i",[93,1107,212],{"class":107},[14,1109,1110],{},"Correct:",[84,1112,1114],{"className":86,"code":1113,"language":88,"meta":89,"style":89},"items = [\"a\", \"b\", \"c\"]\n\nfor i in range(len(items)):\n    print(items[i])\n",[17,1115,1116,1148,1152,1173],{"__ignoreMap":89},[93,1117,1118,1120,1122,1124,1126,1128,1130,1132,1134,1136,1138,1140,1142,1144,1146],{"class":95,"line":96},[93,1119,100],{"class":99},[93,1121,104],{"class":103},[93,1123,108],{"class":107},[93,1125,112],{"class":111},[93,1127,116],{"class":115},[93,1129,112],{"class":111},[93,1131,121],{"class":107},[93,1133,124],{"class":111},[93,1135,127],{"class":115},[93,1137,112],{"class":111},[93,1139,121],{"class":107},[93,1141,124],{"class":111},[93,1143,136],{"class":115},[93,1145,112],{"class":111},[93,1147,141],{"class":107},[93,1149,1150],{"class":95,"line":144},[93,1151,160],{"emptyLinePlaceholder":159},[93,1153,1154,1156,1158,1160,1162,1164,1166,1168,1170],{"class":95,"line":156},[93,1155,1066],{"class":166},[93,1157,1069],{"class":99},[93,1159,1072],{"class":166},[93,1161,1075],{"class":182},[93,1163,186],{"class":107},[93,1165,917],{"class":182},[93,1167,186],{"class":107},[93,1169,190],{"class":189},[93,1171,1172],{"class":107},")):\n",[93,1174,1175,1177,1179,1181,1183,1185],{"class":95,"line":163},[93,1176,199],{"class":182},[93,1178,186],{"class":107},[93,1180,190],{"class":189},[93,1182,206],{"class":107},[93,1184,1105],{"class":189},[93,1186,212],{"class":107},[14,1188,241],{},[84,1190,1191],{"className":86,"code":399,"language":88,"meta":89,"style":89},[17,1192,1193,1197,1201],{"__ignoreMap":89},[93,1194,1195],{"class":95,"line":96},[93,1196,406],{"class":99},[93,1198,1199],{"class":95,"line":144},[93,1200,411],{"class":99},[93,1202,1203],{"class":95,"line":156},[93,1204,244],{"class":99},[14,1206,1207,1208,47],{},"If you want a simpler way to loop, see ",[116,1209,1211],{"href":1210},"\u002Fhow-to\u002Fhow-to-loop-through-a-list-in-python\u002F","how to loop through a list in Python",[745,1213,1215],{"id":1214},"use-enumerate-when-you-need-both-index-and-value","Use enumerate() when you need both index and value",[14,1217,1218,1219,671],{},"Instead of managing indexes manually, use ",[116,1220,1222],{"href":1221},"\u002Freference\u002Fpython-enumerate-function-explained\u002F",[17,1223,1224],{},"enumerate()",[84,1226,1228],{"className":86,"code":1227,"language":88,"meta":89,"style":89},"items = [\"a\", \"b\", \"c\"]\n\nfor i, value in enumerate(items):\n    print(i, value)\n",[17,1229,1230,1262,1266,1289],{"__ignoreMap":89},[93,1231,1232,1234,1236,1238,1240,1242,1244,1246,1248,1250,1252,1254,1256,1258,1260],{"class":95,"line":96},[93,1233,100],{"class":99},[93,1235,104],{"class":103},[93,1237,108],{"class":107},[93,1239,112],{"class":111},[93,1241,116],{"class":115},[93,1243,112],{"class":111},[93,1245,121],{"class":107},[93,1247,124],{"class":111},[93,1249,127],{"class":115},[93,1251,112],{"class":111},[93,1253,121],{"class":107},[93,1255,124],{"class":111},[93,1257,136],{"class":115},[93,1259,112],{"class":111},[93,1261,141],{"class":107},[93,1263,1264],{"class":95,"line":144},[93,1265,160],{"emptyLinePlaceholder":159},[93,1267,1268,1270,1273,1275,1278,1280,1283,1285,1287],{"class":95,"line":156},[93,1269,1066],{"class":166},[93,1271,1272],{"class":99}," i",[93,1274,121],{"class":107},[93,1276,1277],{"class":99}," value ",[93,1279,1072],{"class":166},[93,1281,1282],{"class":182}," enumerate",[93,1284,186],{"class":107},[93,1286,190],{"class":189},[93,1288,193],{"class":107},[93,1290,1291,1293,1295,1297,1299,1302],{"class":95,"line":163},[93,1292,199],{"class":182},[93,1294,186],{"class":107},[93,1296,1105],{"class":189},[93,1298,121],{"class":107},[93,1300,1301],{"class":189}," value",[93,1303,238],{"class":107},[14,1305,241],{},[84,1307,1309],{"className":86,"code":1308,"language":88,"meta":89,"style":89},"0 a\n1 b\n2 c\n",[17,1310,1311,1318,1325],{"__ignoreMap":89},[93,1312,1313,1315],{"class":95,"line":96},[93,1314,42],{"class":152},[93,1316,1317],{"class":99}," a\n",[93,1319,1320,1322],{"class":95,"line":144},[93,1321,46],{"class":152},[93,1323,1324],{"class":99}," b\n",[93,1326,1327,1329],{"class":95,"line":156},[93,1328,65],{"class":152},[93,1330,1331],{"class":99}," c\n",[14,1333,1334],{},"This is often safer than writing your own index logic.",[745,1336,1338],{"id":1337},"handle-empty-sequences-before-reading-the-first-item","Handle empty sequences before reading the first item",[14,1340,1341],{},"This is a very common beginner mistake:",[84,1343,1345],{"className":86,"code":1344,"language":88,"meta":89,"style":89},"items = []\n\nprint(items[0])\n",[17,1346,1347,1356,1360],{"__ignoreMap":89},[93,1348,1349,1351,1353],{"class":95,"line":96},[93,1350,100],{"class":99},[93,1352,104],{"class":103},[93,1354,1355],{"class":107}," []\n",[93,1357,1358],{"class":95,"line":144},[93,1359,160],{"emptyLinePlaceholder":159},[93,1361,1362,1364,1366,1368,1370,1372],{"class":95,"line":156},[93,1363,344],{"class":182},[93,1365,186],{"class":107},[93,1367,190],{"class":189},[93,1369,206],{"class":107},[93,1371,42],{"class":152},[93,1373,212],{"class":107},[14,1375,1376],{},"Fix it by checking whether the sequence has any items:",[84,1378,1380],{"className":86,"code":1379,"language":88,"meta":89,"style":89},"items = []\n\nif items:\n    print(items[0])\nelse:\n    print(\"The list is empty\")\n",[17,1381,1382,1390,1394,1403,1417,1423],{"__ignoreMap":89},[93,1383,1384,1386,1388],{"class":95,"line":96},[93,1385,100],{"class":99},[93,1387,104],{"class":103},[93,1389,1355],{"class":107},[93,1391,1392],{"class":95,"line":144},[93,1393,160],{"emptyLinePlaceholder":159},[93,1395,1396,1398,1401],{"class":95,"line":156},[93,1397,167],{"class":166},[93,1399,1400],{"class":99}," items",[93,1402,221],{"class":107},[93,1404,1405,1407,1409,1411,1413,1415],{"class":95,"line":163},[93,1406,199],{"class":182},[93,1408,186],{"class":107},[93,1410,190],{"class":189},[93,1412,206],{"class":107},[93,1414,42],{"class":152},[93,1416,212],{"class":107},[93,1418,1419,1421],{"class":95,"line":196},[93,1420,218],{"class":166},[93,1422,221],{"class":107},[93,1424,1425,1427,1429,1431,1434,1436],{"class":95,"line":215},[93,1426,199],{"class":182},[93,1428,186],{"class":107},[93,1430,112],{"class":111},[93,1432,1433],{"class":115},"The list is empty",[93,1435,112],{"class":111},[93,1437,238],{"class":107},[76,1439,1441],{"id":1440},"common-indexerror-situations","Common IndexError situations",[14,1443,1444],{},"Here are some patterns that often cause this error.",[745,1446,1448],{"id":1447},"accessing-the-first-item-of-an-empty-list","Accessing the first item of an empty list",[84,1450,1452],{"className":86,"code":1451,"language":88,"meta":89,"style":89},"numbers = []\nprint(numbers[0])\n",[17,1453,1454,1463],{"__ignoreMap":89},[93,1455,1456,1459,1461],{"class":95,"line":96},[93,1457,1458],{"class":99},"numbers ",[93,1460,104],{"class":103},[93,1462,1355],{"class":107},[93,1464,1465,1467,1469,1472,1474,1476],{"class":95,"line":144},[93,1466,344],{"class":182},[93,1468,186],{"class":107},[93,1470,1471],{"class":189},"numbers",[93,1473,206],{"class":107},[93,1475,42],{"class":152},[93,1477,212],{"class":107},[14,1479,1480],{},"This fails because there is no first item.",[14,1482,1483],{},"Safer version:",[84,1485,1487],{"className":86,"code":1486,"language":88,"meta":89,"style":89},"numbers = []\n\nif numbers:\n    print(numbers[0])\nelse:\n    print(\"No items found\")\n",[17,1488,1489,1497,1501,1510,1524,1530],{"__ignoreMap":89},[93,1490,1491,1493,1495],{"class":95,"line":96},[93,1492,1458],{"class":99},[93,1494,104],{"class":103},[93,1496,1355],{"class":107},[93,1498,1499],{"class":95,"line":144},[93,1500,160],{"emptyLinePlaceholder":159},[93,1502,1503,1505,1508],{"class":95,"line":156},[93,1504,167],{"class":166},[93,1506,1507],{"class":99}," numbers",[93,1509,221],{"class":107},[93,1511,1512,1514,1516,1518,1520,1522],{"class":95,"line":163},[93,1513,199],{"class":182},[93,1515,186],{"class":107},[93,1517,1471],{"class":189},[93,1519,206],{"class":107},[93,1521,42],{"class":152},[93,1523,212],{"class":107},[93,1525,1526,1528],{"class":95,"line":196},[93,1527,218],{"class":166},[93,1529,221],{"class":107},[93,1531,1532,1534,1536,1538,1541,1543],{"class":95,"line":215},[93,1533,199],{"class":182},[93,1535,186],{"class":107},[93,1537,112],{"class":111},[93,1539,1540],{"class":115},"No items found",[93,1542,112],{"class":111},[93,1544,238],{"class":107},[745,1546,1548],{"id":1547},"using-i-1-inside-a-loop-without-checking-the-end","Using i + 1 inside a loop without checking the end",[84,1550,1552],{"className":86,"code":1551,"language":88,"meta":89,"style":89},"items = [\"a\", \"b\", \"c\"]\n\nfor i in range(len(items)):\n    print(items[i + 1])\n",[17,1553,1554,1586,1590,1610],{"__ignoreMap":89},[93,1555,1556,1558,1560,1562,1564,1566,1568,1570,1572,1574,1576,1578,1580,1582,1584],{"class":95,"line":96},[93,1557,100],{"class":99},[93,1559,104],{"class":103},[93,1561,108],{"class":107},[93,1563,112],{"class":111},[93,1565,116],{"class":115},[93,1567,112],{"class":111},[93,1569,121],{"class":107},[93,1571,124],{"class":111},[93,1573,127],{"class":115},[93,1575,112],{"class":111},[93,1577,121],{"class":107},[93,1579,124],{"class":111},[93,1581,136],{"class":115},[93,1583,112],{"class":111},[93,1585,141],{"class":107},[93,1587,1588],{"class":95,"line":144},[93,1589,160],{"emptyLinePlaceholder":159},[93,1591,1592,1594,1596,1598,1600,1602,1604,1606,1608],{"class":95,"line":156},[93,1593,1066],{"class":166},[93,1595,1069],{"class":99},[93,1597,1072],{"class":166},[93,1599,1075],{"class":182},[93,1601,186],{"class":107},[93,1603,917],{"class":182},[93,1605,186],{"class":107},[93,1607,190],{"class":189},[93,1609,1172],{"class":107},[93,1611,1612,1614,1616,1618,1620,1623,1626,1628],{"class":95,"line":163},[93,1613,199],{"class":182},[93,1615,186],{"class":107},[93,1617,190],{"class":189},[93,1619,206],{"class":107},[93,1621,1622],{"class":189},"i ",[93,1624,1625],{"class":103},"+",[93,1627,977],{"class":152},[93,1629,212],{"class":107},[14,1631,1632,1633,1636,1637,47],{},"This fails on the last loop because ",[17,1634,1635],{},"i + 1"," becomes ",[17,1638,71],{},[14,1640,1483],{},[84,1642,1644],{"className":86,"code":1643,"language":88,"meta":89,"style":89},"items = [\"a\", \"b\", \"c\"]\n\nfor i in range(len(items) - 1):\n    print(items[i + 1])\n",[17,1645,1646,1678,1682,1708],{"__ignoreMap":89},[93,1647,1648,1650,1652,1654,1656,1658,1660,1662,1664,1666,1668,1670,1672,1674,1676],{"class":95,"line":96},[93,1649,100],{"class":99},[93,1651,104],{"class":103},[93,1653,108],{"class":107},[93,1655,112],{"class":111},[93,1657,116],{"class":115},[93,1659,112],{"class":111},[93,1661,121],{"class":107},[93,1663,124],{"class":111},[93,1665,127],{"class":115},[93,1667,112],{"class":111},[93,1669,121],{"class":107},[93,1671,124],{"class":111},[93,1673,136],{"class":115},[93,1675,112],{"class":111},[93,1677,141],{"class":107},[93,1679,1680],{"class":95,"line":144},[93,1681,160],{"emptyLinePlaceholder":159},[93,1683,1684,1686,1688,1690,1692,1694,1696,1698,1700,1702,1704,1706],{"class":95,"line":156},[93,1685,1066],{"class":166},[93,1687,1069],{"class":99},[93,1689,1072],{"class":166},[93,1691,1075],{"class":182},[93,1693,186],{"class":107},[93,1695,917],{"class":182},[93,1697,186],{"class":107},[93,1699,190],{"class":189},[93,1701,971],{"class":107},[93,1703,974],{"class":103},[93,1705,977],{"class":152},[93,1707,193],{"class":107},[93,1709,1710,1712,1714,1716,1718,1720,1722,1724],{"class":95,"line":163},[93,1711,199],{"class":182},[93,1713,186],{"class":107},[93,1715,190],{"class":189},[93,1717,206],{"class":107},[93,1719,1622],{"class":189},[93,1721,1625],{"class":103},[93,1723,977],{"class":152},[93,1725,212],{"class":107},[745,1727,1729],{"id":1728},"mixing-up-item-values-and-item-indexes","Mixing up item values and item indexes",[14,1731,1732],{},"Sometimes a value is treated like an index by mistake:",[84,1734,1736],{"className":86,"code":1735,"language":88,"meta":89,"style":89},"items = [\"apple\", \"banana\", \"cherry\"]\nindex = \"banana\"\n\nprint(items[index])\n",[17,1737,1738,1770,1782,1786],{"__ignoreMap":89},[93,1739,1740,1742,1744,1746,1748,1750,1752,1754,1756,1758,1760,1762,1764,1766,1768],{"class":95,"line":96},[93,1741,100],{"class":99},[93,1743,104],{"class":103},[93,1745,108],{"class":107},[93,1747,112],{"class":111},[93,1749,523],{"class":115},[93,1751,112],{"class":111},[93,1753,121],{"class":107},[93,1755,124],{"class":111},[93,1757,532],{"class":115},[93,1759,112],{"class":111},[93,1761,121],{"class":107},[93,1763,124],{"class":111},[93,1765,541],{"class":115},[93,1767,112],{"class":111},[93,1769,141],{"class":107},[93,1771,1772,1774,1776,1778,1780],{"class":95,"line":144},[93,1773,147],{"class":99},[93,1775,104],{"class":103},[93,1777,124],{"class":111},[93,1779,532],{"class":115},[93,1781,710],{"class":111},[93,1783,1784],{"class":95,"line":156},[93,1785,160],{"emptyLinePlaceholder":159},[93,1787,1788,1790,1792,1794,1796,1798],{"class":95,"line":163},[93,1789,344],{"class":182},[93,1791,186],{"class":107},[93,1793,190],{"class":189},[93,1795,206],{"class":107},[93,1797,209],{"class":189},[93,1799,212],{"class":107},[14,1801,1802,1803,1805,1806,1809],{},"This is not an ",[17,1804,19],{}," — it raises a ",[17,1807,1808],{},"TypeError"," because indexes must be integers.",[14,1811,1812,1813,47],{},"If you want to find where an item appears, do not use the value as an index directly. See ",[116,1814,1816],{"href":1815},"\u002Fhow-to\u002Fhow-to-find-an-item-in-a-list-in-python\u002F","how to find an item in a list in Python",[745,1818,1820],{"id":1819},"using-list-positions-after-pop-or-remove-changed-the-list","Using list positions after pop() or remove() changed the list",[84,1822,1824],{"className":86,"code":1823,"language":88,"meta":89,"style":89},"items = [\"a\", \"b\", \"c\"]\n\nitems.pop()\nprint(items[2])\n",[17,1825,1826,1858,1862,1874],{"__ignoreMap":89},[93,1827,1828,1830,1832,1834,1836,1838,1840,1842,1844,1846,1848,1850,1852,1854,1856],{"class":95,"line":96},[93,1829,100],{"class":99},[93,1831,104],{"class":103},[93,1833,108],{"class":107},[93,1835,112],{"class":111},[93,1837,116],{"class":115},[93,1839,112],{"class":111},[93,1841,121],{"class":107},[93,1843,124],{"class":111},[93,1845,127],{"class":115},[93,1847,112],{"class":111},[93,1849,121],{"class":107},[93,1851,124],{"class":111},[93,1853,136],{"class":115},[93,1855,112],{"class":111},[93,1857,141],{"class":107},[93,1859,1860],{"class":95,"line":144},[93,1861,160],{"emptyLinePlaceholder":159},[93,1863,1864,1866,1868,1871],{"class":95,"line":156},[93,1865,190],{"class":99},[93,1867,47],{"class":107},[93,1869,1870],{"class":189},"pop",[93,1872,1873],{"class":107},"()\n",[93,1875,1876,1878,1880,1882,1884,1886],{"class":95,"line":163},[93,1877,344],{"class":182},[93,1879,186],{"class":107},[93,1881,190],{"class":189},[93,1883,206],{"class":107},[93,1885,65],{"class":152},[93,1887,212],{"class":107},[14,1889,1890,1891,1894,1895,1898,1899,1901],{},"After ",[17,1892,1893],{},"pop()",", the list becomes ",[17,1896,1897],{},"[\"a\", \"b\"]",", so index ",[17,1900,65],{}," no longer exists.",[76,1903,1905],{"id":1904},"step-by-step-debugging-tips","Step-by-step debugging tips",[14,1907,1908,1909,1911],{},"If you are not sure why ",[17,1910,19],{}," is happening, check these things.",[745,1913,1915],{"id":1914},"_1-print-the-sequence-and-its-length","1. Print the sequence and its length",[84,1917,1919],{"className":86,"code":1918,"language":88,"meta":89,"style":89},"items = [\"a\", \"b\", \"c\"]\nprint(items)\nprint(len(items))\n",[17,1920,1921,1953,1963],{"__ignoreMap":89},[93,1922,1923,1925,1927,1929,1931,1933,1935,1937,1939,1941,1943,1945,1947,1949,1951],{"class":95,"line":96},[93,1924,100],{"class":99},[93,1926,104],{"class":103},[93,1928,108],{"class":107},[93,1930,112],{"class":111},[93,1932,116],{"class":115},[93,1934,112],{"class":111},[93,1936,121],{"class":107},[93,1938,124],{"class":111},[93,1940,127],{"class":115},[93,1942,112],{"class":111},[93,1944,121],{"class":107},[93,1946,124],{"class":111},[93,1948,136],{"class":115},[93,1950,112],{"class":111},[93,1952,141],{"class":107},[93,1954,1955,1957,1959,1961],{"class":95,"line":144},[93,1956,344],{"class":182},[93,1958,186],{"class":107},[93,1960,190],{"class":189},[93,1962,238],{"class":107},[93,1964,1965,1967,1969,1971,1973,1975],{"class":95,"line":156},[93,1966,344],{"class":182},[93,1968,186],{"class":107},[93,1970,917],{"class":182},[93,1972,186],{"class":107},[93,1974,190],{"class":189},[93,1976,1977],{"class":107},"))\n",[745,1979,1981],{"id":1980},"_2-print-the-index-value-before-the-failing-line","2. Print the index value before the failing line",[84,1983,1985],{"className":86,"code":1984,"language":88,"meta":89,"style":89},"index = 3\nprint(index)\n",[17,1986,1987,1996],{"__ignoreMap":89},[93,1988,1989,1991,1993],{"class":95,"line":96},[93,1990,147],{"class":99},[93,1992,104],{"class":103},[93,1994,1995],{"class":152}," 3\n",[93,1997,1998,2000,2002,2004],{"class":95,"line":144},[93,1999,344],{"class":182},[93,2001,186],{"class":107},[93,2003,209],{"class":189},[93,2005,238],{"class":107},[745,2007,2009],{"id":2008},"_3-check-whether-the-sequence-is-empty","3. Check whether the sequence is empty",[84,2011,2013],{"className":86,"code":2012,"language":88,"meta":89,"style":89},"items = []\nprint(len(items) == 0)\n",[17,2014,2015,2023],{"__ignoreMap":89},[93,2016,2017,2019,2021],{"class":95,"line":96},[93,2018,100],{"class":99},[93,2020,104],{"class":103},[93,2022,1355],{"class":107},[93,2024,2025,2027,2029,2031,2033,2035,2037,2040,2042],{"class":95,"line":144},[93,2026,344],{"class":182},[93,2028,186],{"class":107},[93,2030,917],{"class":182},[93,2032,186],{"class":107},[93,2034,190],{"class":189},[93,2036,971],{"class":107},[93,2038,2039],{"class":103}," ==",[93,2041,170],{"class":152},[93,2043,238],{"class":107},[745,2045,2047],{"id":2046},"_4-check-loop-start-and-stop-values","4. Check loop start and stop values",[14,2049,2050],{},"If you use a loop with indexes, confirm that it stops at the right point.",[84,2052,2054],{"className":86,"code":2053,"language":88,"meta":89,"style":89},"items = [\"a\", \"b\", \"c\"]\n\nfor i in range(len(items)):\n    print(i, items[i])\n",[17,2055,2056,2088,2092,2112],{"__ignoreMap":89},[93,2057,2058,2060,2062,2064,2066,2068,2070,2072,2074,2076,2078,2080,2082,2084,2086],{"class":95,"line":96},[93,2059,100],{"class":99},[93,2061,104],{"class":103},[93,2063,108],{"class":107},[93,2065,112],{"class":111},[93,2067,116],{"class":115},[93,2069,112],{"class":111},[93,2071,121],{"class":107},[93,2073,124],{"class":111},[93,2075,127],{"class":115},[93,2077,112],{"class":111},[93,2079,121],{"class":107},[93,2081,124],{"class":111},[93,2083,136],{"class":115},[93,2085,112],{"class":111},[93,2087,141],{"class":107},[93,2089,2090],{"class":95,"line":144},[93,2091,160],{"emptyLinePlaceholder":159},[93,2093,2094,2096,2098,2100,2102,2104,2106,2108,2110],{"class":95,"line":156},[93,2095,1066],{"class":166},[93,2097,1069],{"class":99},[93,2099,1072],{"class":166},[93,2101,1075],{"class":182},[93,2103,186],{"class":107},[93,2105,917],{"class":182},[93,2107,186],{"class":107},[93,2109,190],{"class":189},[93,2111,1172],{"class":107},[93,2113,2114,2116,2118,2120,2122,2124,2126,2128],{"class":95,"line":163},[93,2115,199],{"class":182},[93,2117,186],{"class":107},[93,2119,1105],{"class":189},[93,2121,121],{"class":107},[93,2123,1400],{"class":189},[93,2125,206],{"class":107},[93,2127,1105],{"class":189},[93,2129,212],{"class":107},[745,2131,2133],{"id":2132},"_5-read-the-traceback-carefully","5. Read the traceback carefully",[14,2135,2136],{},"The traceback shows the exact line where the error happened. Start there.",[14,2138,2139],{},"Useful debugging commands:",[84,2141,2143],{"className":86,"code":2142,"language":88,"meta":89,"style":89},"print(items)\nprint(len(items))\nprint(index)\nprint(type(items))\n\nfor i, value in enumerate(items):\n    print(i, value)\n",[17,2144,2145,2155,2169,2179,2194,2198,2218],{"__ignoreMap":89},[93,2146,2147,2149,2151,2153],{"class":95,"line":96},[93,2148,344],{"class":182},[93,2150,186],{"class":107},[93,2152,190],{"class":189},[93,2154,238],{"class":107},[93,2156,2157,2159,2161,2163,2165,2167],{"class":95,"line":144},[93,2158,344],{"class":182},[93,2160,186],{"class":107},[93,2162,917],{"class":182},[93,2164,186],{"class":107},[93,2166,190],{"class":189},[93,2168,1977],{"class":107},[93,2170,2171,2173,2175,2177],{"class":95,"line":156},[93,2172,344],{"class":182},[93,2174,186],{"class":107},[93,2176,209],{"class":189},[93,2178,238],{"class":107},[93,2180,2181,2183,2185,2188,2190,2192],{"class":95,"line":163},[93,2182,344],{"class":182},[93,2184,186],{"class":107},[93,2186,2187],{"class":668},"type",[93,2189,186],{"class":107},[93,2191,190],{"class":189},[93,2193,1977],{"class":107},[93,2195,2196],{"class":95,"line":196},[93,2197,160],{"emptyLinePlaceholder":159},[93,2199,2200,2202,2204,2206,2208,2210,2212,2214,2216],{"class":95,"line":215},[93,2201,1066],{"class":166},[93,2203,1272],{"class":99},[93,2205,121],{"class":107},[93,2207,1277],{"class":99},[93,2209,1072],{"class":166},[93,2211,1282],{"class":182},[93,2213,186],{"class":107},[93,2215,190],{"class":189},[93,2217,193],{"class":107},[93,2219,2220,2222,2224,2226,2228,2230],{"class":95,"line":224},[93,2221,199],{"class":182},[93,2223,186],{"class":107},[93,2225,1105],{"class":189},[93,2227,121],{"class":107},[93,2229,1301],{"class":189},[93,2231,238],{"class":107},[14,2233,2234],{},"These can help you answer:",[25,2236,2237,2240,2243,2246],{},[28,2238,2239],{},"How many items are in the sequence?",[28,2241,2242],{},"What index is the code trying to use?",[28,2244,2245],{},"Is the sequence empty?",[28,2247,2248],{},"Is the object really a list, tuple, or string?",[76,2250,2252],{"id":2251},"indexerror-vs-related-errors","IndexError vs related errors",[14,2254,2255],{},"Some Python errors look similar, but they mean different things.",[745,2257,19],{"id":2258},"indexerror",[14,2260,2261,2263],{},[17,2262,19],{}," means the position does not exist in a sequence.",[14,2265,2266],{},"Example:",[84,2268,2270],{"className":86,"code":2269,"language":88,"meta":89,"style":89},"items = [\"a\", \"b\"]\nprint(items[2])\n",[17,2271,2272,2296],{"__ignoreMap":89},[93,2273,2274,2276,2278,2280,2282,2284,2286,2288,2290,2292,2294],{"class":95,"line":96},[93,2275,100],{"class":99},[93,2277,104],{"class":103},[93,2279,108],{"class":107},[93,2281,112],{"class":111},[93,2283,116],{"class":115},[93,2285,112],{"class":111},[93,2287,121],{"class":107},[93,2289,124],{"class":111},[93,2291,127],{"class":115},[93,2293,112],{"class":111},[93,2295,141],{"class":107},[93,2297,2298,2300,2302,2304,2306,2308],{"class":95,"line":144},[93,2299,344],{"class":182},[93,2301,186],{"class":107},[93,2303,190],{"class":189},[93,2305,206],{"class":107},[93,2307,65],{"class":152},[93,2309,212],{"class":107},[745,2311,2313],{"id":2312},"keyerror","KeyError",[14,2315,2316,2318],{},[17,2317,2313],{}," happens when a dictionary key does not exist.",[14,2320,2266],{},[84,2322,2324],{"className":86,"code":2323,"language":88,"meta":89,"style":89},"data = {\"name\": \"Ana\"}\nprint(data[\"age\"])\n",[17,2325,2326,2355],{"__ignoreMap":89},[93,2327,2328,2331,2333,2336,2338,2341,2343,2345,2347,2350,2352],{"class":95,"line":96},[93,2329,2330],{"class":99},"data ",[93,2332,104],{"class":103},[93,2334,2335],{"class":107}," {",[93,2337,112],{"class":111},[93,2339,2340],{"class":115},"name",[93,2342,112],{"class":111},[93,2344,671],{"class":107},[93,2346,124],{"class":111},[93,2348,2349],{"class":115},"Ana",[93,2351,112],{"class":111},[93,2353,2354],{"class":107},"}\n",[93,2356,2357,2359,2361,2364,2366,2368,2371,2373],{"class":95,"line":144},[93,2358,344],{"class":182},[93,2360,186],{"class":107},[93,2362,2363],{"class":189},"data",[93,2365,206],{"class":107},[93,2367,112],{"class":111},[93,2369,2370],{"class":115},"age",[93,2372,112],{"class":111},[93,2374,212],{"class":107},[14,2376,2377,2378,47],{},"If you want a direct comparison, see ",[116,2379,2381],{"href":2380},"\u002Ferrors\u002Fkeyerror-vs-indexerror-in-python-explained\u002F","KeyError vs IndexError in Python explained",[745,2383,1808],{"id":2384},"typeerror",[14,2386,2387,2389],{},[17,2388,1808],{}," can happen if you use the wrong type as an index.",[14,2391,2266],{},[84,2393,2395],{"className":86,"code":2394,"language":88,"meta":89,"style":89},"items = [\"a\", \"b\", \"c\"]\nprint(items[\"1\"])\n",[17,2396,2397,2429],{"__ignoreMap":89},[93,2398,2399,2401,2403,2405,2407,2409,2411,2413,2415,2417,2419,2421,2423,2425,2427],{"class":95,"line":96},[93,2400,100],{"class":99},[93,2402,104],{"class":103},[93,2404,108],{"class":107},[93,2406,112],{"class":111},[93,2408,116],{"class":115},[93,2410,112],{"class":111},[93,2412,121],{"class":107},[93,2414,124],{"class":111},[93,2416,127],{"class":115},[93,2418,112],{"class":111},[93,2420,121],{"class":107},[93,2422,124],{"class":111},[93,2424,136],{"class":115},[93,2426,112],{"class":111},[93,2428,141],{"class":107},[93,2430,2431,2433,2435,2437,2439,2441,2443,2445],{"class":95,"line":144},[93,2432,344],{"class":182},[93,2434,186],{"class":107},[93,2436,190],{"class":189},[93,2438,206],{"class":107},[93,2440,112],{"class":111},[93,2442,46],{"class":115},[93,2444,112],{"class":111},[93,2446,212],{"class":107},[14,2448,2449,2450,2453],{},"This fails because ",[17,2451,2452],{},"\"1\""," is a string, not an integer.",[76,2455,2457],{"id":2456},"faq","FAQ",[745,2459,2461],{"id":2460},"what-causes-indexerror-in-python","What causes IndexError in Python?",[14,2463,2464],{},"It happens when your code uses an index that is outside the valid range for a list, tuple, or string.",[745,2466,2468],{"id":2467},"what-is-a-valid-list-index","What is a valid list index?",[14,2470,2471,2472,731,2474,734,2476,47],{},"For a list with length 3, valid indexes are ",[17,2473,42],{},[17,2475,46],{},[17,2477,65],{},[745,2479,2481],{"id":2480},"can-strings-raise-indexerror-too","Can strings raise IndexError too?",[14,2483,2484,2485,47],{},"Yes. Strings also use indexes, so accessing a position that does not exist raises ",[17,2486,19],{},[745,2488,2490],{"id":2489},"how-do-i-avoid-indexerror-in-a-loop","How do I avoid IndexError in a loop?",[14,2492,2493,2494,2496],{},"Use correct ",[17,2495,455],{}," limits, or loop directly over the items instead of hard-coding indexes.",[745,2498,2500],{"id":2499},"is-indexerror-the-same-as-keyerror","Is IndexError the same as KeyError?",[14,2502,2503,2504,2506,2507,2509],{},"No. ",[17,2505,19],{}," is for invalid positions in sequences. ",[17,2508,2313],{}," is for missing dictionary keys.",[76,2511,2513],{"id":2512},"see-also","See also",[25,2515,2516,2520,2526,2531,2536,2541,2546],{},[28,2517,2518],{},[116,2519,687],{"href":686},[28,2521,2522],{},[116,2523,2525],{"href":2524},"\u002Ferrors\u002Findexerror-tuple-index-out-of-range-fix\u002F","IndexError: tuple index out of range fix",[28,2527,2528],{},[116,2529,2530],{"href":256},"Python len() function explained",[28,2532,2533],{},[116,2534,2535],{"href":452},"Python range() function explained",[28,2537,2538],{},[116,2539,2540],{"href":1221},"Python enumerate() function explained",[28,2542,2543],{},[116,2544,2545],{"href":1210},"How to loop through a list in Python",[28,2547,2548],{},[116,2549,2550],{"href":428},"Python lists explained: beginner guide",[2552,2553,2554],"style",{},"html pre.shiki code .su5hD, html code.shiki .su5hD{--shiki-light:#90A4AE;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .smGrS, html code.shiki .smGrS{--shiki-light:#39ADB5;--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sP7_E, html code.shiki .sP7_E{--shiki-light:#39ADB5;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sjJ54, html code.shiki .sjJ54{--shiki-light:#39ADB5;--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .s_sjI, html code.shiki .s_sjI{--shiki-light:#91B859;--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .srdBf, html code.shiki .srdBf{--shiki-light:#F76D47;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sVHd0, html code.shiki .sVHd0{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#D73A49;--shiki-default-font-style:inherit;--shiki-dark:#F97583;--shiki-dark-font-style:inherit}html pre.shiki code .sptTA, html code.shiki .sptTA{--shiki-light:#6182B8;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .slqww, html code.shiki .slqww{--shiki-light:#6182B8;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sutJx, html code.shiki .sutJx{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#6A737D;--shiki-default-font-style:inherit;--shiki-dark:#6A737D;--shiki-dark-font-style:inherit}html pre.shiki code .sZMiF, html code.shiki .sZMiF{--shiki-light:#E2931D;--shiki-default:#005CC5;--shiki-dark:#79B8FF}",{"title":89,"searchDepth":144,"depth":144,"links":2556},[2557,2558,2559,2560,2561,2568,2574,2581,2586,2593],{"id":78,"depth":144,"text":79},{"id":263,"depth":144,"text":264},{"id":432,"depth":144,"text":433},{"id":501,"depth":144,"text":502},{"id":739,"depth":144,"text":740,"children":2562},[2563,2564,2565,2566,2567],{"id":747,"depth":156,"text":748},{"id":859,"depth":156,"text":860},{"id":1007,"depth":156,"text":1008},{"id":1214,"depth":156,"text":1215},{"id":1337,"depth":156,"text":1338},{"id":1440,"depth":144,"text":1441,"children":2569},[2570,2571,2572,2573],{"id":1447,"depth":156,"text":1448},{"id":1547,"depth":156,"text":1548},{"id":1728,"depth":156,"text":1729},{"id":1819,"depth":156,"text":1820},{"id":1904,"depth":144,"text":1905,"children":2575},[2576,2577,2578,2579,2580],{"id":1914,"depth":156,"text":1915},{"id":1980,"depth":156,"text":1981},{"id":2008,"depth":156,"text":2009},{"id":2046,"depth":156,"text":2047},{"id":2132,"depth":156,"text":2133},{"id":2251,"depth":144,"text":2252,"children":2582},[2583,2584,2585],{"id":2258,"depth":156,"text":19},{"id":2312,"depth":156,"text":2313},{"id":2384,"depth":156,"text":1808},{"id":2456,"depth":144,"text":2457,"children":2587},[2588,2589,2590,2591,2592],{"id":2460,"depth":156,"text":2461},{"id":2467,"depth":156,"text":2468},{"id":2480,"depth":156,"text":2481},{"id":2489,"depth":156,"text":2490},{"id":2499,"depth":156,"text":2500},{"id":2512,"depth":144,"text":2513},"Master indexerror in python causes and fixes in our comprehensive Python beginner guide.","md",{},"\u002Ferrors\u002Findexerror-in-python-causes-and-fixes",{"title":5,"description":2594},"errors\u002Findexerror-in-python-causes-and-fixes","O_zznq29dvEUBefEs7zTNpjNq2vRdqxGIwON_VqYRbA",1777585495680]