[{"data":1,"prerenderedAt":1887},["ShallowReactive",2],{"doc-\u002Ferrors\u002Findexerror-tuple-index-out-of-range-fix":3},{"id":4,"title":5,"body":6,"description":1880,"extension":1881,"meta":1882,"navigation":97,"path":1883,"seo":1884,"stem":1885,"__hash__":1886},"content\u002Ferrors\u002Findexerror-tuple-index-out-of-range-fix.md","IndexError: tuple index out of range (Fix)",{"type":7,"value":8,"toc":1854},"minimark",[9,13,21,28,33,228,243,247,250,253,277,285,289,292,348,351,374,377,397,402,409,413,416,430,433,485,488,508,515,519,524,527,603,610,613,718,721,728,732,735,803,806,814,820,899,901,927,934,938,941,956,959,1041,1044,1134,1137,1168,1171,1190,1194,1197,1211,1213,1296,1299,1356,1359,1375,1379,1393,1396,1462,1465,1519,1523,1526,1549,1552,1628,1631,1655,1658,1722,1725,1778,1785,1789,1793,1798,1802,1805,1809,1812,1819,1822,1826,1850],[10,11,5],"h1",{"id":12},"indexerror-tuple-index-out-of-range-fix",[14,15,16,20],"p",{},[17,18,19],"code",{},"IndexError: tuple index out of range"," means your code is trying to read a tuple position that does not exist.",[14,22,23,24,27],{},"This usually happens when you use an index that is too large, or when you forget that Python indexes start at ",[17,25,26],{},"0",".",[29,30,32],"h2",{"id":31},"quick-fix","Quick fix",[34,35,40],"pre",{"className":36,"code":37,"language":38,"meta":39,"style":39},"language-python shiki shiki-themes material-theme-lighter github-light github-dark","colors = (\"red\", \"green\", \"blue\")\n\n# Wrong: colors[3]  # IndexError\n\n# Correct: use a valid index\nprint(colors[2])\n\n# Or check length first\nindex = 3\nif index \u003C len(colors):\n    print(colors[index])\nelse:\n    print(\"Index out of range\")\n","python","",[17,41,42,92,99,106,111,117,141,146,152,163,186,203,212],{"__ignoreMap":39},[43,44,47,51,55,59,63,67,69,72,75,78,80,82,84,87,89],"span",{"class":45,"line":46},"line",1,[43,48,50],{"class":49},"su5hD","colors ",[43,52,54],{"class":53},"smGrS","=",[43,56,58],{"class":57},"sP7_E"," (",[43,60,62],{"class":61},"sjJ54","\"",[43,64,66],{"class":65},"s_sjI","red",[43,68,62],{"class":61},[43,70,71],{"class":57},",",[43,73,74],{"class":61}," \"",[43,76,77],{"class":65},"green",[43,79,62],{"class":61},[43,81,71],{"class":57},[43,83,74],{"class":61},[43,85,86],{"class":65},"blue",[43,88,62],{"class":61},[43,90,91],{"class":57},")\n",[43,93,95],{"class":45,"line":94},2,[43,96,98],{"emptyLinePlaceholder":97},true,"\n",[43,100,102],{"class":45,"line":101},3,[43,103,105],{"class":104},"sutJx","# Wrong: colors[3]  # IndexError\n",[43,107,109],{"class":45,"line":108},4,[43,110,98],{"emptyLinePlaceholder":97},[43,112,114],{"class":45,"line":113},5,[43,115,116],{"class":104},"# Correct: use a valid index\n",[43,118,120,124,127,131,134,138],{"class":45,"line":119},6,[43,121,123],{"class":122},"sptTA","print",[43,125,126],{"class":57},"(",[43,128,130],{"class":129},"slqww","colors",[43,132,133],{"class":57},"[",[43,135,137],{"class":136},"srdBf","2",[43,139,140],{"class":57},"])\n",[43,142,144],{"class":45,"line":143},7,[43,145,98],{"emptyLinePlaceholder":97},[43,147,149],{"class":45,"line":148},8,[43,150,151],{"class":104},"# Or check length first\n",[43,153,155,158,160],{"class":45,"line":154},9,[43,156,157],{"class":49},"index ",[43,159,54],{"class":53},[43,161,162],{"class":136}," 3\n",[43,164,166,170,173,176,179,181,183],{"class":45,"line":165},10,[43,167,169],{"class":168},"sVHd0","if",[43,171,172],{"class":49}," index ",[43,174,175],{"class":53},"\u003C",[43,177,178],{"class":122}," len",[43,180,126],{"class":57},[43,182,130],{"class":129},[43,184,185],{"class":57},"):\n",[43,187,189,192,194,196,198,201],{"class":45,"line":188},11,[43,190,191],{"class":122},"    print",[43,193,126],{"class":57},[43,195,130],{"class":129},[43,197,133],{"class":57},[43,199,200],{"class":129},"index",[43,202,140],{"class":57},[43,204,206,209],{"class":45,"line":205},12,[43,207,208],{"class":168},"else",[43,210,211],{"class":57},":\n",[43,213,215,217,219,221,224,226],{"class":45,"line":214},13,[43,216,191],{"class":122},[43,218,126],{"class":57},[43,220,62],{"class":61},[43,222,223],{"class":65},"Index out of range",[43,225,62],{"class":61},[43,227,91],{"class":57},[14,229,230,231,233,234,236,237,240,241,27],{},"Tuple indexes start at ",[17,232,26],{},". A tuple with 3 items has valid indexes ",[17,235,26],{},", ",[17,238,239],{},"1",", and ",[17,242,137],{},[29,244,246],{"id":245},"what-this-error-means","What this error means",[14,248,249],{},"Python raises this error when you try to access a tuple index that is outside the tuple's valid range.",[14,251,252],{},"Important points:",[254,255,256,265,274],"ul",{},[257,258,259,260,262,263],"li",{},"Tuple indexing starts at ",[17,261,26],{},", not ",[17,264,239],{},[257,266,267,268,236,270,240,272],{},"A tuple with 3 items has indexes ",[17,269,26],{},[17,271,239],{},[17,273,137],{},[257,275,276],{},"Negative indexes work from the end, but they must still be valid",[14,278,279,280,27],{},"If you are new to tuples, see ",[281,282,284],"a",{"href":283},"\u002Flearn\u002Fpython-tuples-explained\u002F","Python tuples explained",[29,286,288],{"id":287},"example-that-causes-the-error","Example that causes the error",[14,290,291],{},"Here is a small tuple with 3 items:",[34,293,295],{"className":36,"code":294,"language":38,"meta":39,"style":39},"colors = (\"red\", \"green\", \"blue\")\n\nprint(colors[3])\n",[17,296,297,329,333],{"__ignoreMap":39},[43,298,299,301,303,305,307,309,311,313,315,317,319,321,323,325,327],{"class":45,"line":46},[43,300,50],{"class":49},[43,302,54],{"class":53},[43,304,58],{"class":57},[43,306,62],{"class":61},[43,308,66],{"class":65},[43,310,62],{"class":61},[43,312,71],{"class":57},[43,314,74],{"class":61},[43,316,77],{"class":65},[43,318,62],{"class":61},[43,320,71],{"class":57},[43,322,74],{"class":61},[43,324,86],{"class":65},[43,326,62],{"class":61},[43,328,91],{"class":57},[43,330,331],{"class":45,"line":94},[43,332,98],{"emptyLinePlaceholder":97},[43,334,335,337,339,341,343,346],{"class":45,"line":101},[43,336,123],{"class":122},[43,338,126],{"class":57},[43,340,130],{"class":129},[43,342,133],{"class":57},[43,344,345],{"class":136},"3",[43,347,140],{"class":57},[14,349,350],{},"Output:",[34,352,354],{"className":36,"code":353,"language":38,"meta":39,"style":39},"IndexError: tuple index out of range\n",[17,355,356],{"__ignoreMap":39},[43,357,358,362,365,368,371],{"class":45,"line":46},[43,359,361],{"class":360},"sZMiF","IndexError",[43,363,364],{"class":57},":",[43,366,367],{"class":360}," tuple",[43,369,370],{"class":49}," index out of ",[43,372,373],{"class":122},"range\n",[14,375,376],{},"Why this fails:",[254,378,379,382,391],{},[257,380,381],{},"The tuple has 3 items",[257,383,384,385,236,387,240,389],{},"The valid indexes are ",[17,386,26],{},[17,388,239],{},[17,390,137],{},[257,392,393,396],{},[17,394,395],{},"colors[3]"," asks for a fourth item, but there is no fourth item",[14,398,399,400,27],{},"The last valid index is ",[17,401,137],{},[14,403,404,405,27],{},"If you want a clearer explanation of positions in tuples, see ",[281,406,408],{"href":407},"\u002Freference\u002Fpython-tuple-indexing-explained\u002F","Python tuple indexing explained",[29,410,412],{"id":411},"why-it-happens","Why it happens",[14,414,415],{},"This error usually happens for one of these reasons:",[254,417,418,421,424,427],{},[257,419,420],{},"Using an index that is too large",[257,422,423],{},"Using a negative index that goes past the start of the tuple",[257,425,426],{},"Assuming the tuple has more items than it really has",[257,428,429],{},"Using loop logic that goes one step too far",[14,431,432],{},"For example, this fails because the negative index is too small for the tuple:",[34,434,436],{"className":36,"code":435,"language":38,"meta":39,"style":39},"numbers = (10, 20, 30)\n\nprint(numbers[-4])\n",[17,437,438,462,466],{"__ignoreMap":39},[43,439,440,443,445,447,450,452,455,457,460],{"class":45,"line":46},[43,441,442],{"class":49},"numbers ",[43,444,54],{"class":53},[43,446,58],{"class":57},[43,448,449],{"class":136},"10",[43,451,71],{"class":57},[43,453,454],{"class":136}," 20",[43,456,71],{"class":57},[43,458,459],{"class":136}," 30",[43,461,91],{"class":57},[43,463,464],{"class":45,"line":94},[43,465,98],{"emptyLinePlaceholder":97},[43,467,468,470,472,475,477,480,483],{"class":45,"line":101},[43,469,123],{"class":122},[43,471,126],{"class":57},[43,473,474],{"class":129},"numbers",[43,476,133],{"class":57},[43,478,479],{"class":53},"-",[43,481,482],{"class":136},"4",[43,484,140],{"class":57},[14,486,487],{},"A 3-item tuple supports these negative indexes:",[254,489,490,496,502],{},[257,491,492,495],{},[17,493,494],{},"-1"," for the last item",[257,497,498,501],{},[17,499,500],{},"-2"," for the second-to-last item",[257,503,504,507],{},[17,505,506],{},"-3"," for the first item",[14,509,510,511,514],{},"But ",[17,512,513],{},"-4"," is outside the valid range.",[29,516,518],{"id":517},"how-to-fix-it","How to fix it",[520,521,523],"h3",{"id":522},"use-the-correct-index","Use the correct index",[14,525,526],{},"If you know the tuple size, use a valid index.",[34,528,530],{"className":36,"code":529,"language":38,"meta":39,"style":39},"colors = (\"red\", \"green\", \"blue\")\n\nprint(colors[0])  # red\nprint(colors[2])  # blue\n",[17,531,532,564,568,586],{"__ignoreMap":39},[43,533,534,536,538,540,542,544,546,548,550,552,554,556,558,560,562],{"class":45,"line":46},[43,535,50],{"class":49},[43,537,54],{"class":53},[43,539,58],{"class":57},[43,541,62],{"class":61},[43,543,66],{"class":65},[43,545,62],{"class":61},[43,547,71],{"class":57},[43,549,74],{"class":61},[43,551,77],{"class":65},[43,553,62],{"class":61},[43,555,71],{"class":57},[43,557,74],{"class":61},[43,559,86],{"class":65},[43,561,62],{"class":61},[43,563,91],{"class":57},[43,565,566],{"class":45,"line":94},[43,567,98],{"emptyLinePlaceholder":97},[43,569,570,572,574,576,578,580,583],{"class":45,"line":101},[43,571,123],{"class":122},[43,573,126],{"class":57},[43,575,130],{"class":129},[43,577,133],{"class":57},[43,579,26],{"class":136},[43,581,582],{"class":57},"])",[43,584,585],{"class":104},"  # red\n",[43,587,588,590,592,594,596,598,600],{"class":45,"line":108},[43,589,123],{"class":122},[43,591,126],{"class":57},[43,593,130],{"class":129},[43,595,133],{"class":57},[43,597,137],{"class":136},[43,599,582],{"class":57},[43,601,602],{"class":104},"  # blue\n",[520,604,606,607],{"id":605},"check-the-tuple-length-with-len","Check the tuple length with ",[17,608,609],{},"len()",[14,611,612],{},"If the index may change, check it before accessing the tuple.",[34,614,616],{"className":36,"code":615,"language":38,"meta":39,"style":39},"colors = (\"red\", \"green\", \"blue\")\nindex = 3\n\nif 0 \u003C= index \u003C len(colors):\n    print(colors[index])\nelse:\n    print(\"Index out of range\")\n",[17,617,618,650,658,662,684,698,704],{"__ignoreMap":39},[43,619,620,622,624,626,628,630,632,634,636,638,640,642,644,646,648],{"class":45,"line":46},[43,621,50],{"class":49},[43,623,54],{"class":53},[43,625,58],{"class":57},[43,627,62],{"class":61},[43,629,66],{"class":65},[43,631,62],{"class":61},[43,633,71],{"class":57},[43,635,74],{"class":61},[43,637,77],{"class":65},[43,639,62],{"class":61},[43,641,71],{"class":57},[43,643,74],{"class":61},[43,645,86],{"class":65},[43,647,62],{"class":61},[43,649,91],{"class":57},[43,651,652,654,656],{"class":45,"line":94},[43,653,157],{"class":49},[43,655,54],{"class":53},[43,657,162],{"class":136},[43,659,660],{"class":45,"line":101},[43,661,98],{"emptyLinePlaceholder":97},[43,663,664,666,669,672,674,676,678,680,682],{"class":45,"line":108},[43,665,169],{"class":168},[43,667,668],{"class":136}," 0",[43,670,671],{"class":53}," \u003C=",[43,673,172],{"class":49},[43,675,175],{"class":53},[43,677,178],{"class":122},[43,679,126],{"class":57},[43,681,130],{"class":129},[43,683,185],{"class":57},[43,685,686,688,690,692,694,696],{"class":45,"line":113},[43,687,191],{"class":122},[43,689,126],{"class":57},[43,691,130],{"class":129},[43,693,133],{"class":57},[43,695,200],{"class":129},[43,697,140],{"class":57},[43,699,700,702],{"class":45,"line":119},[43,701,208],{"class":168},[43,703,211],{"class":57},[43,705,706,708,710,712,714,716],{"class":45,"line":143},[43,707,191],{"class":122},[43,709,126],{"class":57},[43,711,62],{"class":61},[43,713,223],{"class":65},[43,715,62],{"class":61},[43,717,91],{"class":57},[14,719,720],{},"This is safer when the tuple size is not guaranteed.",[14,722,723,724,27],{},"If needed, read more about ",[281,725,727],{"href":726},"\u002Freference\u002Fpython-tuple-length-len\u002F","Python tuple length with len()",[520,729,731],{"id":730},"loop-over-the-tuple-directly","Loop over the tuple directly",[14,733,734],{},"If you want every item, you often do not need indexes at all.",[34,736,738],{"className":36,"code":737,"language":38,"meta":39,"style":39},"colors = (\"red\", \"green\", \"blue\")\n\nfor color in colors:\n    print(color)\n",[17,739,740,772,776,792],{"__ignoreMap":39},[43,741,742,744,746,748,750,752,754,756,758,760,762,764,766,768,770],{"class":45,"line":46},[43,743,50],{"class":49},[43,745,54],{"class":53},[43,747,58],{"class":57},[43,749,62],{"class":61},[43,751,66],{"class":65},[43,753,62],{"class":61},[43,755,71],{"class":57},[43,757,74],{"class":61},[43,759,77],{"class":65},[43,761,62],{"class":61},[43,763,71],{"class":57},[43,765,74],{"class":61},[43,767,86],{"class":65},[43,769,62],{"class":61},[43,771,91],{"class":57},[43,773,774],{"class":45,"line":94},[43,775,98],{"emptyLinePlaceholder":97},[43,777,778,781,784,787,790],{"class":45,"line":101},[43,779,780],{"class":168},"for",[43,782,783],{"class":49}," color ",[43,785,786],{"class":168},"in",[43,788,789],{"class":49}," colors",[43,791,211],{"class":57},[43,793,794,796,798,801],{"class":45,"line":108},[43,795,191],{"class":122},[43,797,126],{"class":57},[43,799,800],{"class":129},"color",[43,802,91],{"class":57},[14,804,805],{},"This avoids index mistakes completely.",[520,807,809,810,813],{"id":808},"use-enumerate-when-you-need-both-index-and-value","Use ",[17,811,812],{},"enumerate()"," when you need both index and value",[14,815,816,817,819],{},"If you need the position and the item, ",[17,818,812],{}," is safer than manual indexing.",[34,821,823],{"className":36,"code":822,"language":38,"meta":39,"style":39},"colors = (\"red\", \"green\", \"blue\")\n\nfor i, color in enumerate(colors):\n    print(i, color)\n",[17,824,825,857,861,883],{"__ignoreMap":39},[43,826,827,829,831,833,835,837,839,841,843,845,847,849,851,853,855],{"class":45,"line":46},[43,828,50],{"class":49},[43,830,54],{"class":53},[43,832,58],{"class":57},[43,834,62],{"class":61},[43,836,66],{"class":65},[43,838,62],{"class":61},[43,840,71],{"class":57},[43,842,74],{"class":61},[43,844,77],{"class":65},[43,846,62],{"class":61},[43,848,71],{"class":57},[43,850,74],{"class":61},[43,852,86],{"class":65},[43,854,62],{"class":61},[43,856,91],{"class":57},[43,858,859],{"class":45,"line":94},[43,860,98],{"emptyLinePlaceholder":97},[43,862,863,865,868,870,872,874,877,879,881],{"class":45,"line":101},[43,864,780],{"class":168},[43,866,867],{"class":49}," i",[43,869,71],{"class":57},[43,871,783],{"class":49},[43,873,786],{"class":168},[43,875,876],{"class":122}," enumerate",[43,878,126],{"class":57},[43,880,130],{"class":129},[43,882,185],{"class":57},[43,884,885,887,889,892,894,897],{"class":45,"line":108},[43,886,191],{"class":122},[43,888,126],{"class":57},[43,890,891],{"class":129},"i",[43,893,71],{"class":57},[43,895,896],{"class":129}," color",[43,898,91],{"class":57},[14,900,350],{},[34,902,904],{"className":36,"code":903,"language":38,"meta":39,"style":39},"0 red\n1 green\n2 blue\n",[17,905,906,913,920],{"__ignoreMap":39},[43,907,908,910],{"class":45,"line":46},[43,909,26],{"class":136},[43,911,912],{"class":49}," red\n",[43,914,915,917],{"class":45,"line":94},[43,916,239],{"class":136},[43,918,919],{"class":49}," green\n",[43,921,922,924],{"class":45,"line":101},[43,923,137],{"class":136},[43,925,926],{"class":49}," blue\n",[14,928,929,930,27],{},"See also ",[281,931,933],{"href":932},"\u002Freference\u002Fpython-enumerate-function-explained\u002F","Python enumerate() function explained",[29,935,937],{"id":936},"debugging-steps","Debugging steps",[14,939,940],{},"When you see this error, check these things first:",[942,943,944,947,950,953],"ol",{},[257,945,946],{},"Print the tuple to see what it really contains",[257,948,949],{},"Print its length",[257,951,952],{},"Print the index value before the failing line",[257,954,955],{},"Confirm that your code is using 0-based indexing",[14,957,958],{},"Useful debugging commands:",[34,960,962],{"className":36,"code":961,"language":38,"meta":39,"style":39},"print(my_tuple)\nprint(len(my_tuple))\nprint(index)\n\nfor i, value in enumerate(my_tuple):\n    print(i, value)\n",[17,963,964,975,991,1001,1005,1026],{"__ignoreMap":39},[43,965,966,968,970,973],{"class":45,"line":46},[43,967,123],{"class":122},[43,969,126],{"class":57},[43,971,972],{"class":129},"my_tuple",[43,974,91],{"class":57},[43,976,977,979,981,984,986,988],{"class":45,"line":94},[43,978,123],{"class":122},[43,980,126],{"class":57},[43,982,983],{"class":122},"len",[43,985,126],{"class":57},[43,987,972],{"class":129},[43,989,990],{"class":57},"))\n",[43,992,993,995,997,999],{"class":45,"line":101},[43,994,123],{"class":122},[43,996,126],{"class":57},[43,998,200],{"class":129},[43,1000,91],{"class":57},[43,1002,1003],{"class":45,"line":108},[43,1004,98],{"emptyLinePlaceholder":97},[43,1006,1007,1009,1011,1013,1016,1018,1020,1022,1024],{"class":45,"line":113},[43,1008,780],{"class":168},[43,1010,867],{"class":49},[43,1012,71],{"class":57},[43,1014,1015],{"class":49}," value ",[43,1017,786],{"class":168},[43,1019,876],{"class":122},[43,1021,126],{"class":57},[43,1023,972],{"class":129},[43,1025,185],{"class":57},[43,1027,1028,1030,1032,1034,1036,1039],{"class":45,"line":119},[43,1029,191],{"class":122},[43,1031,126],{"class":57},[43,1033,891],{"class":129},[43,1035,71],{"class":57},[43,1037,1038],{"class":129}," value",[43,1040,91],{"class":57},[14,1042,1043],{},"Example:",[34,1045,1047],{"className":36,"code":1046,"language":38,"meta":39,"style":39},"user = (\"Alice\", 25)\nindex = 2\n\nprint(user)\nprint(len(user))\nprint(index)\nprint(user[index])\n",[17,1048,1049,1072,1081,1085,1096,1110,1120],{"__ignoreMap":39},[43,1050,1051,1054,1056,1058,1060,1063,1065,1067,1070],{"class":45,"line":46},[43,1052,1053],{"class":49},"user ",[43,1055,54],{"class":53},[43,1057,58],{"class":57},[43,1059,62],{"class":61},[43,1061,1062],{"class":65},"Alice",[43,1064,62],{"class":61},[43,1066,71],{"class":57},[43,1068,1069],{"class":136}," 25",[43,1071,91],{"class":57},[43,1073,1074,1076,1078],{"class":45,"line":94},[43,1075,157],{"class":49},[43,1077,54],{"class":53},[43,1079,1080],{"class":136}," 2\n",[43,1082,1083],{"class":45,"line":101},[43,1084,98],{"emptyLinePlaceholder":97},[43,1086,1087,1089,1091,1094],{"class":45,"line":108},[43,1088,123],{"class":122},[43,1090,126],{"class":57},[43,1092,1093],{"class":129},"user",[43,1095,91],{"class":57},[43,1097,1098,1100,1102,1104,1106,1108],{"class":45,"line":113},[43,1099,123],{"class":122},[43,1101,126],{"class":57},[43,1103,983],{"class":122},[43,1105,126],{"class":57},[43,1107,1093],{"class":129},[43,1109,990],{"class":57},[43,1111,1112,1114,1116,1118],{"class":45,"line":119},[43,1113,123],{"class":122},[43,1115,126],{"class":57},[43,1117,200],{"class":129},[43,1119,91],{"class":57},[43,1121,1122,1124,1126,1128,1130,1132],{"class":45,"line":143},[43,1123,123],{"class":122},[43,1125,126],{"class":57},[43,1127,1093],{"class":129},[43,1129,133],{"class":57},[43,1131,200],{"class":129},[43,1133,140],{"class":57},[14,1135,1136],{},"Output before the error:",[34,1138,1140],{"className":36,"code":1139,"language":38,"meta":39,"style":39},"('Alice', 25)\n2\n2\n",[17,1141,1142,1159,1164],{"__ignoreMap":39},[43,1143,1144,1146,1149,1151,1153,1155,1157],{"class":45,"line":46},[43,1145,126],{"class":57},[43,1147,1148],{"class":61},"'",[43,1150,1062],{"class":65},[43,1152,1148],{"class":61},[43,1154,71],{"class":57},[43,1156,1069],{"class":136},[43,1158,91],{"class":57},[43,1160,1161],{"class":45,"line":94},[43,1162,1163],{"class":136},"2\n",[43,1165,1166],{"class":45,"line":101},[43,1167,1163],{"class":136},[14,1169,1170],{},"This tells you:",[254,1172,1173,1176,1184],{},[257,1174,1175],{},"The tuple has only 2 items",[257,1177,1178,1179,1181,1182],{},"Valid indexes are ",[17,1180,26],{}," and ",[17,1183,239],{},[257,1185,1186,1187,1189],{},"Index ",[17,1188,137],{}," is not valid",[29,1191,1193],{"id":1192},"special-case-negative-indexes","Special case: negative indexes",[14,1195,1196],{},"Negative indexes count from the end of the tuple:",[254,1198,1199,1205],{},[257,1200,1201,1204],{},[17,1202,1203],{},"my_tuple[-1]"," means the last item",[257,1206,1207,1210],{},[17,1208,1209],{},"my_tuple[-2]"," means the second-to-last item",[14,1212,1043],{},[34,1214,1216],{"className":36,"code":1215,"language":38,"meta":39,"style":39},"letters = (\"a\", \"b\", \"c\")\n\nprint(letters[-1])  # c\nprint(letters[-2])  # b\n",[17,1217,1218,1253,1257,1277],{"__ignoreMap":39},[43,1219,1220,1223,1225,1227,1229,1231,1233,1235,1237,1240,1242,1244,1246,1249,1251],{"class":45,"line":46},[43,1221,1222],{"class":49},"letters ",[43,1224,54],{"class":53},[43,1226,58],{"class":57},[43,1228,62],{"class":61},[43,1230,281],{"class":65},[43,1232,62],{"class":61},[43,1234,71],{"class":57},[43,1236,74],{"class":61},[43,1238,1239],{"class":65},"b",[43,1241,62],{"class":61},[43,1243,71],{"class":57},[43,1245,74],{"class":61},[43,1247,1248],{"class":65},"c",[43,1250,62],{"class":61},[43,1252,91],{"class":57},[43,1254,1255],{"class":45,"line":94},[43,1256,98],{"emptyLinePlaceholder":97},[43,1258,1259,1261,1263,1266,1268,1270,1272,1274],{"class":45,"line":101},[43,1260,123],{"class":122},[43,1262,126],{"class":57},[43,1264,1265],{"class":129},"letters",[43,1267,133],{"class":57},[43,1269,479],{"class":53},[43,1271,239],{"class":136},[43,1273,582],{"class":57},[43,1275,1276],{"class":104},"  # c\n",[43,1278,1279,1281,1283,1285,1287,1289,1291,1293],{"class":45,"line":108},[43,1280,123],{"class":122},[43,1282,126],{"class":57},[43,1284,1265],{"class":129},[43,1286,133],{"class":57},[43,1288,479],{"class":53},[43,1290,137],{"class":136},[43,1292,582],{"class":57},[43,1294,1295],{"class":104},"  # b\n",[14,1297,1298],{},"But negative indexes can still fail if the tuple is shorter than expected:",[34,1300,1302],{"className":36,"code":1301,"language":38,"meta":39,"style":39},"letters = (\"a\", \"b\", \"c\")\n\nprint(letters[-4])\n",[17,1303,1304,1336,1340],{"__ignoreMap":39},[43,1305,1306,1308,1310,1312,1314,1316,1318,1320,1322,1324,1326,1328,1330,1332,1334],{"class":45,"line":46},[43,1307,1222],{"class":49},[43,1309,54],{"class":53},[43,1311,58],{"class":57},[43,1313,62],{"class":61},[43,1315,281],{"class":65},[43,1317,62],{"class":61},[43,1319,71],{"class":57},[43,1321,74],{"class":61},[43,1323,1239],{"class":65},[43,1325,62],{"class":61},[43,1327,71],{"class":57},[43,1329,74],{"class":61},[43,1331,1248],{"class":65},[43,1333,62],{"class":61},[43,1335,91],{"class":57},[43,1337,1338],{"class":45,"line":94},[43,1339,98],{"emptyLinePlaceholder":97},[43,1341,1342,1344,1346,1348,1350,1352,1354],{"class":45,"line":101},[43,1343,123],{"class":122},[43,1345,126],{"class":57},[43,1347,1265],{"class":129},[43,1349,133],{"class":57},[43,1351,479],{"class":53},[43,1353,482],{"class":136},[43,1355,140],{"class":57},[14,1357,1358],{},"This raises:",[34,1360,1361],{"className":36,"code":353,"language":38,"meta":39,"style":39},[17,1362,1363],{"__ignoreMap":39},[43,1364,1365,1367,1369,1371,1373],{"class":45,"line":46},[43,1366,361],{"class":360},[43,1368,364],{"class":57},[43,1370,367],{"class":360},[43,1372,370],{"class":49},[43,1374,373],{"class":122},[29,1376,1378],{"id":1377},"how-to-avoid-this-error-in-the-future","How to avoid this error in the future",[254,1380,1381,1384,1387,1390],{},[257,1382,1383],{},"Do not guess tuple positions",[257,1385,1386],{},"Check the structure of returned data before indexing",[257,1388,1389],{},"Prefer unpacking when you know the tuple size",[257,1391,1392],{},"Use loops for all items instead of hard-coded indexes",[14,1394,1395],{},"For example, unpacking is often clearer than manual indexing:",[34,1397,1399],{"className":36,"code":1398,"language":38,"meta":39,"style":39},"point = (10, 20)\n\nx, y = point\n\nprint(x)\nprint(y)\n",[17,1400,1401,1418,1422,1437,1441,1451],{"__ignoreMap":39},[43,1402,1403,1406,1408,1410,1412,1414,1416],{"class":45,"line":46},[43,1404,1405],{"class":49},"point ",[43,1407,54],{"class":53},[43,1409,58],{"class":57},[43,1411,449],{"class":136},[43,1413,71],{"class":57},[43,1415,454],{"class":136},[43,1417,91],{"class":57},[43,1419,1420],{"class":45,"line":94},[43,1421,98],{"emptyLinePlaceholder":97},[43,1423,1424,1427,1429,1432,1434],{"class":45,"line":101},[43,1425,1426],{"class":49},"x",[43,1428,71],{"class":57},[43,1430,1431],{"class":49}," y ",[43,1433,54],{"class":53},[43,1435,1436],{"class":49}," point\n",[43,1438,1439],{"class":45,"line":108},[43,1440,98],{"emptyLinePlaceholder":97},[43,1442,1443,1445,1447,1449],{"class":45,"line":113},[43,1444,123],{"class":122},[43,1446,126],{"class":57},[43,1448,1426],{"class":129},[43,1450,91],{"class":57},[43,1452,1453,1455,1457,1460],{"class":45,"line":119},[43,1454,123],{"class":122},[43,1456,126],{"class":57},[43,1458,1459],{"class":129},"y",[43,1461,91],{"class":57},[14,1463,1464],{},"This is easier to read than:",[34,1466,1468],{"className":36,"code":1467,"language":38,"meta":39,"style":39},"point = (10, 20)\n\nprint(point[0])\nprint(point[1])\n",[17,1469,1470,1486,1490,1505],{"__ignoreMap":39},[43,1471,1472,1474,1476,1478,1480,1482,1484],{"class":45,"line":46},[43,1473,1405],{"class":49},[43,1475,54],{"class":53},[43,1477,58],{"class":57},[43,1479,449],{"class":136},[43,1481,71],{"class":57},[43,1483,454],{"class":136},[43,1485,91],{"class":57},[43,1487,1488],{"class":45,"line":94},[43,1489,98],{"emptyLinePlaceholder":97},[43,1491,1492,1494,1496,1499,1501,1503],{"class":45,"line":101},[43,1493,123],{"class":122},[43,1495,126],{"class":57},[43,1497,1498],{"class":129},"point",[43,1500,133],{"class":57},[43,1502,26],{"class":136},[43,1504,140],{"class":57},[43,1506,1507,1509,1511,1513,1515,1517],{"class":45,"line":108},[43,1508,123],{"class":122},[43,1510,126],{"class":57},[43,1512,1498],{"class":129},[43,1514,133],{"class":57},[43,1516,239],{"class":136},[43,1518,140],{"class":57},[29,1520,1522],{"id":1521},"common-mistakes","Common mistakes",[14,1524,1525],{},"These are very common causes of this error:",[254,1527,1528,1534,1537,1543,1546],{},[257,1529,1530,1531,1533],{},"Accessing index ",[17,1532,345],{}," in a tuple that only has 3 items",[257,1535,1536],{},"Using 1-based thinking instead of Python's 0-based indexing",[257,1538,1539,1540],{},"Looping with ",[17,1541,1542],{},"range(len(my_tuple) + 1)",[257,1544,1545],{},"Using a negative index smaller than the tuple allows",[257,1547,1548],{},"Reading function return values and assuming the tuple shape incorrectly",[14,1550,1551],{},"Here is a common loop mistake:",[34,1553,1555],{"className":36,"code":1554,"language":38,"meta":39,"style":39},"values = (10, 20, 30)\n\nfor i in range(len(values) + 1):\n    print(values[i])\n",[17,1556,1557,1578,1582,1614],{"__ignoreMap":39},[43,1558,1559,1562,1564,1566,1568,1570,1572,1574,1576],{"class":45,"line":46},[43,1560,1561],{"class":49},"values ",[43,1563,54],{"class":53},[43,1565,58],{"class":57},[43,1567,449],{"class":136},[43,1569,71],{"class":57},[43,1571,454],{"class":136},[43,1573,71],{"class":57},[43,1575,459],{"class":136},[43,1577,91],{"class":57},[43,1579,1580],{"class":45,"line":94},[43,1581,98],{"emptyLinePlaceholder":97},[43,1583,1584,1586,1589,1591,1594,1596,1598,1600,1603,1606,1609,1612],{"class":45,"line":101},[43,1585,780],{"class":168},[43,1587,1588],{"class":49}," i ",[43,1590,786],{"class":168},[43,1592,1593],{"class":122}," range",[43,1595,126],{"class":57},[43,1597,983],{"class":122},[43,1599,126],{"class":57},[43,1601,1602],{"class":129},"values",[43,1604,1605],{"class":57},")",[43,1607,1608],{"class":53}," +",[43,1610,1611],{"class":136}," 1",[43,1613,185],{"class":57},[43,1615,1616,1618,1620,1622,1624,1626],{"class":45,"line":108},[43,1617,191],{"class":122},[43,1619,126],{"class":57},[43,1621,1602],{"class":129},[43,1623,133],{"class":57},[43,1625,891],{"class":129},[43,1627,140],{"class":57},[14,1629,1630],{},"Why it fails:",[254,1632,1633,1641,1650],{},[257,1634,1635,1638,1639],{},[17,1636,1637],{},"len(values)"," is ",[17,1640,345],{},[257,1642,1643,1646,1647],{},[17,1644,1645],{},"range(len(values) + 1)"," gives ",[17,1648,1649],{},"0, 1, 2, 3",[257,1651,1186,1652,1654],{},[17,1653,345],{}," does not exist",[14,1656,1657],{},"Correct version:",[34,1659,1661],{"className":36,"code":1660,"language":38,"meta":39,"style":39},"values = (10, 20, 30)\n\nfor i in range(len(values)):\n    print(values[i])\n",[17,1662,1663,1683,1687,1708],{"__ignoreMap":39},[43,1664,1665,1667,1669,1671,1673,1675,1677,1679,1681],{"class":45,"line":46},[43,1666,1561],{"class":49},[43,1668,54],{"class":53},[43,1670,58],{"class":57},[43,1672,449],{"class":136},[43,1674,71],{"class":57},[43,1676,454],{"class":136},[43,1678,71],{"class":57},[43,1680,459],{"class":136},[43,1682,91],{"class":57},[43,1684,1685],{"class":45,"line":94},[43,1686,98],{"emptyLinePlaceholder":97},[43,1688,1689,1691,1693,1695,1697,1699,1701,1703,1705],{"class":45,"line":101},[43,1690,780],{"class":168},[43,1692,1588],{"class":49},[43,1694,786],{"class":168},[43,1696,1593],{"class":122},[43,1698,126],{"class":57},[43,1700,983],{"class":122},[43,1702,126],{"class":57},[43,1704,1602],{"class":129},[43,1706,1707],{"class":57},")):\n",[43,1709,1710,1712,1714,1716,1718,1720],{"class":45,"line":108},[43,1711,191],{"class":122},[43,1713,126],{"class":57},[43,1715,1602],{"class":129},[43,1717,133],{"class":57},[43,1719,891],{"class":129},[43,1721,140],{"class":57},[14,1723,1724],{},"Or even better:",[34,1726,1728],{"className":36,"code":1727,"language":38,"meta":39,"style":39},"values = (10, 20, 30)\n\nfor value in values:\n    print(value)\n",[17,1729,1730,1750,1754,1767],{"__ignoreMap":39},[43,1731,1732,1734,1736,1738,1740,1742,1744,1746,1748],{"class":45,"line":46},[43,1733,1561],{"class":49},[43,1735,54],{"class":53},[43,1737,58],{"class":57},[43,1739,449],{"class":136},[43,1741,71],{"class":57},[43,1743,454],{"class":136},[43,1745,71],{"class":57},[43,1747,459],{"class":136},[43,1749,91],{"class":57},[43,1751,1752],{"class":45,"line":94},[43,1753,98],{"emptyLinePlaceholder":97},[43,1755,1756,1758,1760,1762,1765],{"class":45,"line":101},[43,1757,780],{"class":168},[43,1759,1015],{"class":49},[43,1761,786],{"class":168},[43,1763,1764],{"class":49}," values",[43,1766,211],{"class":57},[43,1768,1769,1771,1773,1776],{"class":45,"line":108},[43,1770,191],{"class":122},[43,1772,126],{"class":57},[43,1774,1775],{"class":129},"value",[43,1777,91],{"class":57},[14,1779,1780,1781,27],{},"If you are seeing the same problem with a list, read ",[281,1782,1784],{"href":1783},"\u002Ferrors\u002Findexerror-list-index-out-of-range-fix-explained\u002F","IndexError: list index out of range",[29,1786,1788],{"id":1787},"faq","FAQ",[520,1790,1792],{"id":1791},"are-tuples-0-indexed-in-python","Are tuples 0-indexed in Python?",[14,1794,1795,1796,27],{},"Yes. The first item is at index ",[17,1797,26],{},[520,1799,1801],{"id":1800},"can-negative-indexes-cause-this-error","Can negative indexes cause this error?",[14,1803,1804],{},"Yes. If the negative index goes beyond the start of the tuple, Python raises the same error.",[520,1806,1808],{"id":1807},"how-is-this-different-from-list-index-out-of-range","How is this different from list index out of range?",[14,1810,1811],{},"The cause is basically the same, but this error happens with tuples instead of lists.",[520,1813,1815,1816,1818],{"id":1814},"should-i-use-len-before-every-tuple-access","Should I use ",[17,1817,609],{}," before every tuple access?",[14,1820,1821],{},"Not always. Use it when the tuple size may change or when the index is not guaranteed to be valid.",[29,1823,1825],{"id":1824},"see-also","See also",[254,1827,1828,1832,1836,1840,1844],{},[257,1829,1830],{},[281,1831,284],{"href":283},[257,1833,1834],{},[281,1835,408],{"href":407},[257,1837,1838],{},[281,1839,727],{"href":726},[257,1841,1842],{},[281,1843,933],{"href":932},[257,1845,1846],{},[281,1847,1849],{"href":1848},"\u002Ferrors\u002Findexerror-in-python-causes-and-fixes\u002F","IndexError in Python: causes and fixes",[1851,1852,1853],"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 .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 .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 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 .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 .sZMiF, html code.shiki .sZMiF{--shiki-light:#E2931D;--shiki-default:#005CC5;--shiki-dark:#79B8FF}",{"title":39,"searchDepth":94,"depth":94,"links":1855},[1856,1857,1858,1859,1860,1868,1869,1870,1871,1872,1879],{"id":31,"depth":94,"text":32},{"id":245,"depth":94,"text":246},{"id":287,"depth":94,"text":288},{"id":411,"depth":94,"text":412},{"id":517,"depth":94,"text":518,"children":1861},[1862,1863,1865,1866],{"id":522,"depth":101,"text":523},{"id":605,"depth":101,"text":1864},"Check the tuple length with len()",{"id":730,"depth":101,"text":731},{"id":808,"depth":101,"text":1867},"Use enumerate() when you need both index and value",{"id":936,"depth":94,"text":937},{"id":1192,"depth":94,"text":1193},{"id":1377,"depth":94,"text":1378},{"id":1521,"depth":94,"text":1522},{"id":1787,"depth":94,"text":1788,"children":1873},[1874,1875,1876,1877],{"id":1791,"depth":101,"text":1792},{"id":1800,"depth":101,"text":1801},{"id":1807,"depth":101,"text":1808},{"id":1814,"depth":101,"text":1878},"Should I use len() before every tuple access?",{"id":1824,"depth":94,"text":1825},"Master indexerror tuple index out of range fix in our comprehensive Python beginner guide.","md",{},"\u002Ferrors\u002Findexerror-tuple-index-out-of-range-fix",{"title":5,"description":1880},"errors\u002Findexerror-tuple-index-out-of-range-fix","GZNZHOnCDdv_IXbjU7QS5BmYbUrSJAh-j2XHnGNahK4",1777585506735]