[{"data":1,"prerenderedAt":2083},["ShallowReactive",2],{"doc-\u002Fstandard-library\u002Frandom.shuffle-function-explained":3},{"id":4,"title":5,"body":6,"description":2076,"extension":2077,"meta":2078,"navigation":75,"path":2079,"seo":2080,"stem":2081,"__hash__":2082},"content\u002Fstandard-library\u002Frandom.shuffle-function-explained.md","random.shuffle() Function Explained",{"type":7,"value":8,"toc":2049},"minimark",[9,18,24,27,40,43,48,154,157,189,196,203,208,211,231,244,248,251,281,284,298,302,309,381,383,413,416,515,518,572,575,582,586,589,681,683,726,729,736,740,743,750,874,876,939,942,1054,1057,1065,1074,1078,1085,1088,1176,1179,1214,1217,1240,1243,1313,1317,1322,1325,1381,1384,1387,1390,1402,1405,1494,1497,1598,1608,1611,1617,1625,1629,1637,1640,1765,1767,1812,1821,1825,1830,1852,1855,1937,1940,1959,1962,1966,1973,1978,1985,1988,1998,2007,2011,2014,2018,2045],[10,11,13,17],"h1",{"id":12},"randomshuffle-function-explained",[14,15,16],"code",{},"random.shuffle()"," Function Explained",[19,20,21,23],"p",{},[14,22,16],{}," puts the items in a list into a random order.",[19,25,26],{},"It is important to know two things about this function:",[28,29,30,34],"ul",{},[31,32,33],"li",{},"It changes the original list",[31,35,36,37],{},"It returns ",[14,38,39],{},"None",[19,41,42],{},"This is a common source of beginner mistakes. If you expect a new list to be returned, your code will not work the way you expect.",[44,45,47],"h2",{"id":46},"quick-example","Quick example",[49,50,55],"pre",{"className":51,"code":52,"language":53,"meta":54,"style":54},"language-python shiki shiki-themes material-theme-lighter github-light github-dark","import random\n\nnumbers = [1, 2, 3, 4, 5]\nrandom.shuffle(numbers)\nprint(numbers)\n","python","",[14,56,57,70,77,119,141],{"__ignoreMap":54},[58,59,62,66],"span",{"class":60,"line":61},"line",1,[58,63,65],{"class":64},"sVHd0","import",[58,67,69],{"class":68},"su5hD"," random\n",[58,71,73],{"class":60,"line":72},2,[58,74,76],{"emptyLinePlaceholder":75},true,"\n",[58,78,80,83,87,91,95,98,101,103,106,108,111,113,116],{"class":60,"line":79},3,[58,81,82],{"class":68},"numbers ",[58,84,86],{"class":85},"smGrS","=",[58,88,90],{"class":89},"sP7_E"," [",[58,92,94],{"class":93},"srdBf","1",[58,96,97],{"class":89},",",[58,99,100],{"class":93}," 2",[58,102,97],{"class":89},[58,104,105],{"class":93}," 3",[58,107,97],{"class":89},[58,109,110],{"class":93}," 4",[58,112,97],{"class":89},[58,114,115],{"class":93}," 5",[58,117,118],{"class":89},"]\n",[58,120,122,125,128,132,135,138],{"class":60,"line":121},4,[58,123,124],{"class":68},"random",[58,126,127],{"class":89},".",[58,129,131],{"class":130},"slqww","shuffle",[58,133,134],{"class":89},"(",[58,136,137],{"class":130},"numbers",[58,139,140],{"class":89},")\n",[58,142,144,148,150,152],{"class":60,"line":143},5,[58,145,147],{"class":146},"sptTA","print",[58,149,134],{"class":89},[58,151,137],{"class":130},[58,153,140],{"class":89},[19,155,156],{},"Example output:",[49,158,160],{"className":51,"code":159,"language":53,"meta":54,"style":54},"[3, 1, 5, 2, 4]\n",[14,161,162],{"__ignoreMap":54},[58,163,164,167,170,172,175,177,179,181,183,185,187],{"class":60,"line":61},[58,165,166],{"class":89},"[",[58,168,169],{"class":93},"3",[58,171,97],{"class":89},[58,173,174],{"class":93}," 1",[58,176,97],{"class":89},[58,178,115],{"class":93},[58,180,97],{"class":89},[58,182,100],{"class":93},[58,184,97],{"class":89},[58,186,110],{"class":93},[58,188,118],{"class":89},[19,190,191,193,194,127],{},[14,192,16],{}," changes the original list and returns ",[14,195,39],{},[44,197,199,200,202],{"id":198},"what-randomshuffle-does","What ",[14,201,16],{}," does",[19,204,205,207],{},[14,206,16],{}," is used when you want to reorder all items in a list randomly.",[19,209,210],{},"Key points:",[28,212,213,216,224,227],{},[31,214,215],{},"It shuffles the items in a list into a random order",[31,217,218,219,223],{},"It works ",[220,221,222],"strong",{},"in place",", which means it changes the original list",[31,225,226],{},"It does not create a new shuffled list",[31,228,36,229],{},[14,230,39],{},[19,232,233,234,236,237,127],{},"If you are new to the ",[14,235,124],{}," module, see the ",[238,239,241,243],"a",{"href":240},"\u002Fstandard-library\u002Fpython-random-module-overview",[14,242,124],{}," module overview",[44,245,247],{"id":246},"basic-syntax","Basic syntax",[19,249,250],{},"Use this form:",[49,252,254],{"className":51,"code":253,"language":53,"meta":54,"style":54},"import random\n\nrandom.shuffle(my_list)\n",[14,255,256,262,266],{"__ignoreMap":54},[58,257,258,260],{"class":60,"line":61},[58,259,65],{"class":64},[58,261,69],{"class":68},[58,263,264],{"class":60,"line":72},[58,265,76],{"emptyLinePlaceholder":75},[58,267,268,270,272,274,276,279],{"class":60,"line":79},[58,269,124],{"class":68},[58,271,127],{"class":89},[58,273,131],{"class":130},[58,275,134],{"class":89},[58,277,278],{"class":130},"my_list",[58,280,140],{"class":89},[19,282,283],{},"Things to remember:",[28,285,286,292,295],{},[31,287,288,289,291],{},"You must import the ",[14,290,124],{}," module first",[31,293,294],{},"You should pass a mutable sequence such as a list",[31,296,297],{},"The list is changed directly",[44,299,301],{"id":300},"what-gets-changed","What gets changed",[19,303,304,305,308],{},"When you call ",[14,306,307],{},"random.shuffle(my_list)",", the original list is modified.",[49,310,312],{"className":51,"code":311,"language":53,"meta":54,"style":54},"import random\n\nnumbers = [1, 2, 3, 4, 5]\nrandom.shuffle(numbers)\n\nprint(numbers)\n",[14,313,314,320,324,352,366,370],{"__ignoreMap":54},[58,315,316,318],{"class":60,"line":61},[58,317,65],{"class":64},[58,319,69],{"class":68},[58,321,322],{"class":60,"line":72},[58,323,76],{"emptyLinePlaceholder":75},[58,325,326,328,330,332,334,336,338,340,342,344,346,348,350],{"class":60,"line":79},[58,327,82],{"class":68},[58,329,86],{"class":85},[58,331,90],{"class":89},[58,333,94],{"class":93},[58,335,97],{"class":89},[58,337,100],{"class":93},[58,339,97],{"class":89},[58,341,105],{"class":93},[58,343,97],{"class":89},[58,345,110],{"class":93},[58,347,97],{"class":89},[58,349,115],{"class":93},[58,351,118],{"class":89},[58,353,354,356,358,360,362,364],{"class":60,"line":121},[58,355,124],{"class":68},[58,357,127],{"class":89},[58,359,131],{"class":130},[58,361,134],{"class":89},[58,363,137],{"class":130},[58,365,140],{"class":89},[58,367,368],{"class":60,"line":143},[58,369,76],{"emptyLinePlaceholder":75},[58,371,373,375,377,379],{"class":60,"line":372},6,[58,374,147],{"class":146},[58,376,134],{"class":89},[58,378,137],{"class":130},[58,380,140],{"class":89},[19,382,156],{},[49,384,386],{"className":51,"code":385,"language":53,"meta":54,"style":54},"[4, 1, 5, 3, 2]\n",[14,387,388],{"__ignoreMap":54},[58,389,390,392,395,397,399,401,403,405,407,409,411],{"class":60,"line":61},[58,391,166],{"class":89},[58,393,394],{"class":93},"4",[58,396,97],{"class":89},[58,398,174],{"class":93},[58,400,97],{"class":89},[58,402,115],{"class":93},[58,404,97],{"class":89},[58,406,105],{"class":93},[58,408,97],{"class":89},[58,410,100],{"class":93},[58,412,118],{"class":89},[19,414,415],{},"If another variable points to the same list, it will also see the changed order.",[49,417,419],{"className":51,"code":418,"language":53,"meta":54,"style":54},"import random\n\nnumbers = [1, 2, 3, 4, 5]\nother_name = numbers\n\nrandom.shuffle(numbers)\n\nprint(numbers)\nprint(other_name)\n",[14,420,421,427,431,459,469,473,487,492,503],{"__ignoreMap":54},[58,422,423,425],{"class":60,"line":61},[58,424,65],{"class":64},[58,426,69],{"class":68},[58,428,429],{"class":60,"line":72},[58,430,76],{"emptyLinePlaceholder":75},[58,432,433,435,437,439,441,443,445,447,449,451,453,455,457],{"class":60,"line":79},[58,434,82],{"class":68},[58,436,86],{"class":85},[58,438,90],{"class":89},[58,440,94],{"class":93},[58,442,97],{"class":89},[58,444,100],{"class":93},[58,446,97],{"class":89},[58,448,105],{"class":93},[58,450,97],{"class":89},[58,452,110],{"class":93},[58,454,97],{"class":89},[58,456,115],{"class":93},[58,458,118],{"class":89},[58,460,461,464,466],{"class":60,"line":121},[58,462,463],{"class":68},"other_name ",[58,465,86],{"class":85},[58,467,468],{"class":68}," numbers\n",[58,470,471],{"class":60,"line":143},[58,472,76],{"emptyLinePlaceholder":75},[58,474,475,477,479,481,483,485],{"class":60,"line":372},[58,476,124],{"class":68},[58,478,127],{"class":89},[58,480,131],{"class":130},[58,482,134],{"class":89},[58,484,137],{"class":130},[58,486,140],{"class":89},[58,488,490],{"class":60,"line":489},7,[58,491,76],{"emptyLinePlaceholder":75},[58,493,495,497,499,501],{"class":60,"line":494},8,[58,496,147],{"class":146},[58,498,134],{"class":89},[58,500,137],{"class":130},[58,502,140],{"class":89},[58,504,506,508,510,513],{"class":60,"line":505},9,[58,507,147],{"class":146},[58,509,134],{"class":89},[58,511,512],{"class":130},"other_name",[58,514,140],{"class":89},[19,516,517],{},"Possible output:",[49,519,521],{"className":51,"code":520,"language":53,"meta":54,"style":54},"[2, 5, 1, 4, 3]\n[2, 5, 1, 4, 3]\n",[14,522,523,548],{"__ignoreMap":54},[58,524,525,527,530,532,534,536,538,540,542,544,546],{"class":60,"line":61},[58,526,166],{"class":89},[58,528,529],{"class":93},"2",[58,531,97],{"class":89},[58,533,115],{"class":93},[58,535,97],{"class":89},[58,537,174],{"class":93},[58,539,97],{"class":89},[58,541,110],{"class":93},[58,543,97],{"class":89},[58,545,105],{"class":93},[58,547,118],{"class":89},[58,549,550,552,554,556,558,560,562,564,566,568,570],{"class":60,"line":72},[58,551,166],{"class":89},[58,553,529],{"class":93},[58,555,97],{"class":89},[58,557,115],{"class":93},[58,559,97],{"class":89},[58,561,174],{"class":93},[58,563,97],{"class":89},[58,565,110],{"class":93},[58,567,97],{"class":89},[58,569,105],{"class":93},[58,571,118],{"class":89},[19,573,574],{},"This happens because both variables refer to the same list object.",[19,576,577,578,127],{},"If this idea is unfamiliar, it helps to understand ",[238,579,581],{"href":580},"\u002Flearn\u002Fmutability-in-python-explained-mutable-vs-immutable-types","mutability in Python",[44,583,585],{"id":584},"simple-example","Simple example",[19,587,588],{},"Here is a basic example with a short list:",[49,590,592],{"className":51,"code":591,"language":53,"meta":54,"style":54},"import random\n\nletters = [\"a\", \"b\", \"c\", \"d\"]\nrandom.shuffle(letters)\n\nprint(letters)\n",[14,593,594,600,604,652,667,671],{"__ignoreMap":54},[58,595,596,598],{"class":60,"line":61},[58,597,65],{"class":64},[58,599,69],{"class":68},[58,601,602],{"class":60,"line":72},[58,603,76],{"emptyLinePlaceholder":75},[58,605,606,609,611,613,617,620,622,624,627,630,632,634,636,639,641,643,645,648,650],{"class":60,"line":79},[58,607,608],{"class":68},"letters ",[58,610,86],{"class":85},[58,612,90],{"class":89},[58,614,616],{"class":615},"sjJ54","\"",[58,618,238],{"class":619},"s_sjI",[58,621,616],{"class":615},[58,623,97],{"class":89},[58,625,626],{"class":615}," \"",[58,628,629],{"class":619},"b",[58,631,616],{"class":615},[58,633,97],{"class":89},[58,635,626],{"class":615},[58,637,638],{"class":619},"c",[58,640,616],{"class":615},[58,642,97],{"class":89},[58,644,626],{"class":615},[58,646,647],{"class":619},"d",[58,649,616],{"class":615},[58,651,118],{"class":89},[58,653,654,656,658,660,662,665],{"class":60,"line":121},[58,655,124],{"class":68},[58,657,127],{"class":89},[58,659,131],{"class":130},[58,661,134],{"class":89},[58,663,664],{"class":130},"letters",[58,666,140],{"class":89},[58,668,669],{"class":60,"line":143},[58,670,76],{"emptyLinePlaceholder":75},[58,672,673,675,677,679],{"class":60,"line":372},[58,674,147],{"class":146},[58,676,134],{"class":89},[58,678,664],{"class":130},[58,680,140],{"class":89},[19,682,517],{},[49,684,686],{"className":51,"code":685,"language":53,"meta":54,"style":54},"['c', 'a', 'd', 'b']\n",[14,687,688],{"__ignoreMap":54},[58,689,690,692,695,697,699,701,704,706,708,710,712,714,716,718,720,722,724],{"class":60,"line":61},[58,691,166],{"class":89},[58,693,694],{"class":615},"'",[58,696,638],{"class":619},[58,698,694],{"class":615},[58,700,97],{"class":89},[58,702,703],{"class":615}," '",[58,705,238],{"class":619},[58,707,694],{"class":615},[58,709,97],{"class":89},[58,711,703],{"class":615},[58,713,647],{"class":619},[58,715,694],{"class":615},[58,717,97],{"class":89},[58,719,703],{"class":615},[58,721,629],{"class":619},[58,723,694],{"class":615},[58,725,118],{"class":89},[19,727,728],{},"If you run the program again, the order will usually be different.",[19,730,731,732,735],{},"That is normal. The purpose of ",[14,733,734],{},"shuffle()"," is to produce a random ordering.",[44,737,739],{"id":738},"how-to-keep-the-original-list-unchanged","How to keep the original list unchanged",[19,741,742],{},"If you need to keep the original order, make a copy first and shuffle the copy.",[19,744,745,746,749],{},"You can copy a list with ",[14,747,748],{},".copy()",":",[49,751,753],{"className":51,"code":752,"language":53,"meta":54,"style":54},"import random\n\noriginal = [1, 2, 3, 4, 5]\nshuffled = original.copy()\n\nrandom.shuffle(shuffled)\n\nprint(\"Original:\", original)\nprint(\"Shuffled:\", shuffled)\n",[14,754,755,761,765,794,812,816,831,835,854],{"__ignoreMap":54},[58,756,757,759],{"class":60,"line":61},[58,758,65],{"class":64},[58,760,69],{"class":68},[58,762,763],{"class":60,"line":72},[58,764,76],{"emptyLinePlaceholder":75},[58,766,767,770,772,774,776,778,780,782,784,786,788,790,792],{"class":60,"line":79},[58,768,769],{"class":68},"original ",[58,771,86],{"class":85},[58,773,90],{"class":89},[58,775,94],{"class":93},[58,777,97],{"class":89},[58,779,100],{"class":93},[58,781,97],{"class":89},[58,783,105],{"class":93},[58,785,97],{"class":89},[58,787,110],{"class":93},[58,789,97],{"class":89},[58,791,115],{"class":93},[58,793,118],{"class":89},[58,795,796,799,801,804,806,809],{"class":60,"line":121},[58,797,798],{"class":68},"shuffled ",[58,800,86],{"class":85},[58,802,803],{"class":68}," original",[58,805,127],{"class":89},[58,807,808],{"class":130},"copy",[58,810,811],{"class":89},"()\n",[58,813,814],{"class":60,"line":143},[58,815,76],{"emptyLinePlaceholder":75},[58,817,818,820,822,824,826,829],{"class":60,"line":372},[58,819,124],{"class":68},[58,821,127],{"class":89},[58,823,131],{"class":130},[58,825,134],{"class":89},[58,827,828],{"class":130},"shuffled",[58,830,140],{"class":89},[58,832,833],{"class":60,"line":489},[58,834,76],{"emptyLinePlaceholder":75},[58,836,837,839,841,843,846,848,850,852],{"class":60,"line":494},[58,838,147],{"class":146},[58,840,134],{"class":89},[58,842,616],{"class":615},[58,844,845],{"class":619},"Original:",[58,847,616],{"class":615},[58,849,97],{"class":89},[58,851,803],{"class":130},[58,853,140],{"class":89},[58,855,856,858,860,862,865,867,869,872],{"class":60,"line":505},[58,857,147],{"class":146},[58,859,134],{"class":89},[58,861,616],{"class":615},[58,863,864],{"class":619},"Shuffled:",[58,866,616],{"class":615},[58,868,97],{"class":89},[58,870,871],{"class":130}," shuffled",[58,873,140],{"class":89},[19,875,517],{},[49,877,879],{"className":51,"code":878,"language":53,"meta":54,"style":54},"Original: [1, 2, 3, 4, 5]\nShuffled: [4, 1, 5, 2, 3]\n",[14,880,881,910],{"__ignoreMap":54},[58,882,883,886,888,890,892,894,896,898,900,902,904,906,908],{"class":60,"line":61},[58,884,885],{"class":68},"Original",[58,887,749],{"class":89},[58,889,90],{"class":89},[58,891,94],{"class":93},[58,893,97],{"class":89},[58,895,100],{"class":93},[58,897,97],{"class":89},[58,899,105],{"class":93},[58,901,97],{"class":89},[58,903,110],{"class":93},[58,905,97],{"class":89},[58,907,115],{"class":93},[58,909,118],{"class":89},[58,911,912,915,917,919,921,923,925,927,929,931,933,935,937],{"class":60,"line":72},[58,913,914],{"class":68},"Shuffled",[58,916,749],{"class":89},[58,918,90],{"class":89},[58,920,394],{"class":93},[58,922,97],{"class":89},[58,924,174],{"class":93},[58,926,97],{"class":89},[58,928,115],{"class":93},[58,930,97],{"class":89},[58,932,100],{"class":93},[58,934,97],{"class":89},[58,936,105],{"class":93},[58,938,118],{"class":89},[19,940,941],{},"You can also copy with slicing:",[49,943,945],{"className":51,"code":944,"language":53,"meta":54,"style":54},"import random\n\noriginal = [1, 2, 3, 4, 5]\nshuffled = original[:]\n\nrandom.shuffle(shuffled)\n\nprint(\"Original:\", original)\nprint(\"Shuffled:\", shuffled)\n",[14,946,947,953,957,985,996,1000,1014,1018,1036],{"__ignoreMap":54},[58,948,949,951],{"class":60,"line":61},[58,950,65],{"class":64},[58,952,69],{"class":68},[58,954,955],{"class":60,"line":72},[58,956,76],{"emptyLinePlaceholder":75},[58,958,959,961,963,965,967,969,971,973,975,977,979,981,983],{"class":60,"line":79},[58,960,769],{"class":68},[58,962,86],{"class":85},[58,964,90],{"class":89},[58,966,94],{"class":93},[58,968,97],{"class":89},[58,970,100],{"class":93},[58,972,97],{"class":89},[58,974,105],{"class":93},[58,976,97],{"class":89},[58,978,110],{"class":93},[58,980,97],{"class":89},[58,982,115],{"class":93},[58,984,118],{"class":89},[58,986,987,989,991,993],{"class":60,"line":121},[58,988,798],{"class":68},[58,990,86],{"class":85},[58,992,803],{"class":68},[58,994,995],{"class":89},"[:]\n",[58,997,998],{"class":60,"line":143},[58,999,76],{"emptyLinePlaceholder":75},[58,1001,1002,1004,1006,1008,1010,1012],{"class":60,"line":372},[58,1003,124],{"class":68},[58,1005,127],{"class":89},[58,1007,131],{"class":130},[58,1009,134],{"class":89},[58,1011,828],{"class":130},[58,1013,140],{"class":89},[58,1015,1016],{"class":60,"line":489},[58,1017,76],{"emptyLinePlaceholder":75},[58,1019,1020,1022,1024,1026,1028,1030,1032,1034],{"class":60,"line":494},[58,1021,147],{"class":146},[58,1023,134],{"class":89},[58,1025,616],{"class":615},[58,1027,845],{"class":619},[58,1029,616],{"class":615},[58,1031,97],{"class":89},[58,1033,803],{"class":130},[58,1035,140],{"class":89},[58,1037,1038,1040,1042,1044,1046,1048,1050,1052],{"class":60,"line":505},[58,1039,147],{"class":146},[58,1041,134],{"class":89},[58,1043,616],{"class":615},[58,1045,864],{"class":619},[58,1047,616],{"class":615},[58,1049,97],{"class":89},[58,1051,871],{"class":130},[58,1053,140],{"class":89},[19,1055,1056],{},"This is useful when you need both:",[28,1058,1059,1062],{},[31,1060,1061],{},"the original list",[31,1063,1064],{},"a random version of the same items",[19,1066,1067,1068,127],{},"If you want to learn more about copying lists, see ",[238,1069,1071],{"href":1070},"\u002Freference\u002Fpython-list-copy-method",[14,1072,1073],{},"list.copy()",[44,1075,1077],{"id":1076},"common-beginner-confusion","Common beginner confusion",[1079,1080,1082,1084],"h3",{"id":1081},"randomshufflemy_list-does-not-return-the-shuffled-list",[14,1083,307],{}," does not return the shuffled list",[19,1086,1087],{},"This is one of the most common mistakes:",[49,1089,1091],{"className":51,"code":1090,"language":53,"meta":54,"style":54},"import random\n\nnumbers = [1, 2, 3, 4, 5]\nnew_list = random.shuffle(numbers)\n\nprint(new_list)\nprint(numbers)\n",[14,1092,1093,1099,1103,1131,1151,1155,1166],{"__ignoreMap":54},[58,1094,1095,1097],{"class":60,"line":61},[58,1096,65],{"class":64},[58,1098,69],{"class":68},[58,1100,1101],{"class":60,"line":72},[58,1102,76],{"emptyLinePlaceholder":75},[58,1104,1105,1107,1109,1111,1113,1115,1117,1119,1121,1123,1125,1127,1129],{"class":60,"line":79},[58,1106,82],{"class":68},[58,1108,86],{"class":85},[58,1110,90],{"class":89},[58,1112,94],{"class":93},[58,1114,97],{"class":89},[58,1116,100],{"class":93},[58,1118,97],{"class":89},[58,1120,105],{"class":93},[58,1122,97],{"class":89},[58,1124,110],{"class":93},[58,1126,97],{"class":89},[58,1128,115],{"class":93},[58,1130,118],{"class":89},[58,1132,1133,1136,1138,1141,1143,1145,1147,1149],{"class":60,"line":121},[58,1134,1135],{"class":68},"new_list ",[58,1137,86],{"class":85},[58,1139,1140],{"class":68}," random",[58,1142,127],{"class":89},[58,1144,131],{"class":130},[58,1146,134],{"class":89},[58,1148,137],{"class":130},[58,1150,140],{"class":89},[58,1152,1153],{"class":60,"line":143},[58,1154,76],{"emptyLinePlaceholder":75},[58,1156,1157,1159,1161,1164],{"class":60,"line":372},[58,1158,147],{"class":146},[58,1160,134],{"class":89},[58,1162,1163],{"class":130},"new_list",[58,1165,140],{"class":89},[58,1167,1168,1170,1172,1174],{"class":60,"line":489},[58,1169,147],{"class":146},[58,1171,134],{"class":89},[58,1173,137],{"class":130},[58,1175,140],{"class":89},[19,1177,1178],{},"Output:",[49,1180,1182],{"className":51,"code":1181,"language":53,"meta":54,"style":54},"None\n[2, 4, 1, 5, 3]\n",[14,1183,1184,1190],{"__ignoreMap":54},[58,1185,1186],{"class":60,"line":61},[58,1187,1189],{"class":1188},"s39Yj","None\n",[58,1191,1192,1194,1196,1198,1200,1202,1204,1206,1208,1210,1212],{"class":60,"line":72},[58,1193,166],{"class":89},[58,1195,529],{"class":93},[58,1197,97],{"class":89},[58,1199,110],{"class":93},[58,1201,97],{"class":89},[58,1203,174],{"class":93},[58,1205,97],{"class":89},[58,1207,115],{"class":93},[58,1209,97],{"class":89},[58,1211,105],{"class":93},[58,1213,118],{"class":89},[19,1215,1216],{},"Why this happens:",[28,1218,1219,1227,1232],{},[31,1220,1221,1223,1224,1226],{},[14,1222,734],{}," changes ",[14,1225,137],{}," directly",[31,1228,1229,1230],{},"the return value is ",[14,1231,39],{},[31,1233,1234,1235,1237,1238],{},"so ",[14,1236,1163],{}," becomes ",[14,1239,39],{},[19,1241,1242],{},"The correct way is:",[49,1244,1245],{"className":51,"code":311,"language":53,"meta":54,"style":54},[14,1246,1247,1253,1257,1285,1299,1303],{"__ignoreMap":54},[58,1248,1249,1251],{"class":60,"line":61},[58,1250,65],{"class":64},[58,1252,69],{"class":68},[58,1254,1255],{"class":60,"line":72},[58,1256,76],{"emptyLinePlaceholder":75},[58,1258,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283],{"class":60,"line":79},[58,1260,82],{"class":68},[58,1262,86],{"class":85},[58,1264,90],{"class":89},[58,1266,94],{"class":93},[58,1268,97],{"class":89},[58,1270,100],{"class":93},[58,1272,97],{"class":89},[58,1274,105],{"class":93},[58,1276,97],{"class":89},[58,1278,110],{"class":93},[58,1280,97],{"class":89},[58,1282,115],{"class":93},[58,1284,118],{"class":89},[58,1286,1287,1289,1291,1293,1295,1297],{"class":60,"line":121},[58,1288,124],{"class":68},[58,1290,127],{"class":89},[58,1292,131],{"class":130},[58,1294,134],{"class":89},[58,1296,137],{"class":130},[58,1298,140],{"class":89},[58,1300,1301],{"class":60,"line":143},[58,1302,76],{"emptyLinePlaceholder":75},[58,1304,1305,1307,1309,1311],{"class":60,"line":372},[58,1306,147],{"class":146},[58,1308,134],{"class":89},[58,1310,137],{"class":130},[58,1312,140],{"class":89},[1079,1314,1316],{"id":1315},"you-cannot-shuffle-a-tuple-or-string-in-place","You cannot shuffle a tuple or string in place",[19,1318,1319,1321],{},[14,1320,16],{}," is meant for mutable data, usually lists.",[19,1323,1324],{},"This will not work as expected with a tuple:",[49,1326,1328],{"className":51,"code":1327,"language":53,"meta":54,"style":54},"import random\n\nvalues = (1, 2, 3, 4)\nrandom.shuffle(values)\n",[14,1329,1330,1336,1340,1366],{"__ignoreMap":54},[58,1331,1332,1334],{"class":60,"line":61},[58,1333,65],{"class":64},[58,1335,69],{"class":68},[58,1337,1338],{"class":60,"line":72},[58,1339,76],{"emptyLinePlaceholder":75},[58,1341,1342,1345,1347,1350,1352,1354,1356,1358,1360,1362,1364],{"class":60,"line":79},[58,1343,1344],{"class":68},"values ",[58,1346,86],{"class":85},[58,1348,1349],{"class":89}," (",[58,1351,94],{"class":93},[58,1353,97],{"class":89},[58,1355,100],{"class":93},[58,1357,97],{"class":89},[58,1359,105],{"class":93},[58,1361,97],{"class":89},[58,1363,110],{"class":93},[58,1365,140],{"class":89},[58,1367,1368,1370,1372,1374,1376,1379],{"class":60,"line":121},[58,1369,124],{"class":68},[58,1371,127],{"class":89},[58,1373,131],{"class":130},[58,1375,134],{"class":89},[58,1377,1378],{"class":130},"values",[58,1380,140],{"class":89},[19,1382,1383],{},"A tuple cannot be changed in place.",[19,1385,1386],{},"A string also cannot be shuffled in place because strings are immutable.",[19,1388,1389],{},"If you need to shuffle a tuple or string:",[1391,1392,1393,1396,1399],"ol",{},[31,1394,1395],{},"Convert it to a list",[31,1397,1398],{},"Shuffle the list",[31,1400,1401],{},"Convert it back if needed",[19,1403,1404],{},"Example with a tuple:",[49,1406,1408],{"className":51,"code":1407,"language":53,"meta":54,"style":54},"import random\n\nvalues = (1, 2, 3, 4)\ntemp_list = list(values)\n\nrandom.shuffle(temp_list)\n\nprint(temp_list)\n",[14,1409,1410,1416,1420,1444,1461,1465,1480,1484],{"__ignoreMap":54},[58,1411,1412,1414],{"class":60,"line":61},[58,1413,65],{"class":64},[58,1415,69],{"class":68},[58,1417,1418],{"class":60,"line":72},[58,1419,76],{"emptyLinePlaceholder":75},[58,1421,1422,1424,1426,1428,1430,1432,1434,1436,1438,1440,1442],{"class":60,"line":79},[58,1423,1344],{"class":68},[58,1425,86],{"class":85},[58,1427,1349],{"class":89},[58,1429,94],{"class":93},[58,1431,97],{"class":89},[58,1433,100],{"class":93},[58,1435,97],{"class":89},[58,1437,105],{"class":93},[58,1439,97],{"class":89},[58,1441,110],{"class":93},[58,1443,140],{"class":89},[58,1445,1446,1449,1451,1455,1457,1459],{"class":60,"line":121},[58,1447,1448],{"class":68},"temp_list ",[58,1450,86],{"class":85},[58,1452,1454],{"class":1453},"sZMiF"," list",[58,1456,134],{"class":89},[58,1458,1378],{"class":130},[58,1460,140],{"class":89},[58,1462,1463],{"class":60,"line":143},[58,1464,76],{"emptyLinePlaceholder":75},[58,1466,1467,1469,1471,1473,1475,1478],{"class":60,"line":372},[58,1468,124],{"class":68},[58,1470,127],{"class":89},[58,1472,131],{"class":130},[58,1474,134],{"class":89},[58,1476,1477],{"class":130},"temp_list",[58,1479,140],{"class":89},[58,1481,1482],{"class":60,"line":489},[58,1483,76],{"emptyLinePlaceholder":75},[58,1485,1486,1488,1490,1492],{"class":60,"line":494},[58,1487,147],{"class":146},[58,1489,134],{"class":89},[58,1491,1477],{"class":130},[58,1493,140],{"class":89},[19,1495,1496],{},"Example with a string:",[49,1498,1500],{"className":51,"code":1499,"language":53,"meta":54,"style":54},"import random\n\ntext = \"hello\"\nchars = list(text)\n\nrandom.shuffle(chars)\n\nshuffled_text = \"\".join(chars)\nprint(shuffled_text)\n",[14,1501,1502,1508,1512,1527,1543,1547,1562,1566,1587],{"__ignoreMap":54},[58,1503,1504,1506],{"class":60,"line":61},[58,1505,65],{"class":64},[58,1507,69],{"class":68},[58,1509,1510],{"class":60,"line":72},[58,1511,76],{"emptyLinePlaceholder":75},[58,1513,1514,1517,1519,1521,1524],{"class":60,"line":79},[58,1515,1516],{"class":68},"text ",[58,1518,86],{"class":85},[58,1520,626],{"class":615},[58,1522,1523],{"class":619},"hello",[58,1525,1526],{"class":615},"\"\n",[58,1528,1529,1532,1534,1536,1538,1541],{"class":60,"line":121},[58,1530,1531],{"class":68},"chars ",[58,1533,86],{"class":85},[58,1535,1454],{"class":1453},[58,1537,134],{"class":89},[58,1539,1540],{"class":130},"text",[58,1542,140],{"class":89},[58,1544,1545],{"class":60,"line":143},[58,1546,76],{"emptyLinePlaceholder":75},[58,1548,1549,1551,1553,1555,1557,1560],{"class":60,"line":372},[58,1550,124],{"class":68},[58,1552,127],{"class":89},[58,1554,131],{"class":130},[58,1556,134],{"class":89},[58,1558,1559],{"class":130},"chars",[58,1561,140],{"class":89},[58,1563,1564],{"class":60,"line":489},[58,1565,76],{"emptyLinePlaceholder":75},[58,1567,1568,1571,1573,1576,1578,1581,1583,1585],{"class":60,"line":494},[58,1569,1570],{"class":68},"shuffled_text ",[58,1572,86],{"class":85},[58,1574,1575],{"class":615}," \"\"",[58,1577,127],{"class":89},[58,1579,1580],{"class":130},"join",[58,1582,134],{"class":89},[58,1584,1559],{"class":130},[58,1586,140],{"class":89},[58,1588,1589,1591,1593,1596],{"class":60,"line":505},[58,1590,147],{"class":146},[58,1592,134],{"class":89},[58,1594,1595],{"class":130},"shuffled_text",[58,1597,140],{"class":89},[44,1599,1601,1602,1604,1605],{"id":1600},"when-to-use-randomshuffle-vs-randomchoice","When to use ",[14,1603,16],{}," vs ",[14,1606,1607],{},"random.choice()",[19,1609,1610],{},"These two functions solve different problems.",[19,1612,1613,1614,1616],{},"Use ",[14,1615,16],{}," when you want to:",[28,1618,1619,1622],{},[31,1620,1621],{},"reorder all items in a list",[31,1623,1624],{},"get a random arrangement of the whole list",[19,1626,1613,1627,1616],{},[14,1628,1607],{},[28,1630,1631,1634],{},[31,1632,1633],{},"pick one random item",[31,1635,1636],{},"leave the original list order unchanged",[19,1638,1639],{},"Example:",[49,1641,1643],{"className":51,"code":1642,"language":53,"meta":54,"style":54},"import random\n\nnumbers = [10, 20, 30, 40]\n\nitem = random.choice(numbers)\nprint(\"Random item:\", item)\n\nrandom.shuffle(numbers)\nprint(\"Shuffled list:\", numbers)\n",[14,1644,1645,1651,1655,1683,1687,1707,1727,1731,1745],{"__ignoreMap":54},[58,1646,1647,1649],{"class":60,"line":61},[58,1648,65],{"class":64},[58,1650,69],{"class":68},[58,1652,1653],{"class":60,"line":72},[58,1654,76],{"emptyLinePlaceholder":75},[58,1656,1657,1659,1661,1663,1666,1668,1671,1673,1676,1678,1681],{"class":60,"line":79},[58,1658,82],{"class":68},[58,1660,86],{"class":85},[58,1662,90],{"class":89},[58,1664,1665],{"class":93},"10",[58,1667,97],{"class":89},[58,1669,1670],{"class":93}," 20",[58,1672,97],{"class":89},[58,1674,1675],{"class":93}," 30",[58,1677,97],{"class":89},[58,1679,1680],{"class":93}," 40",[58,1682,118],{"class":89},[58,1684,1685],{"class":60,"line":121},[58,1686,76],{"emptyLinePlaceholder":75},[58,1688,1689,1692,1694,1696,1698,1701,1703,1705],{"class":60,"line":143},[58,1690,1691],{"class":68},"item ",[58,1693,86],{"class":85},[58,1695,1140],{"class":68},[58,1697,127],{"class":89},[58,1699,1700],{"class":130},"choice",[58,1702,134],{"class":89},[58,1704,137],{"class":130},[58,1706,140],{"class":89},[58,1708,1709,1711,1713,1715,1718,1720,1722,1725],{"class":60,"line":372},[58,1710,147],{"class":146},[58,1712,134],{"class":89},[58,1714,616],{"class":615},[58,1716,1717],{"class":619},"Random item:",[58,1719,616],{"class":615},[58,1721,97],{"class":89},[58,1723,1724],{"class":130}," item",[58,1726,140],{"class":89},[58,1728,1729],{"class":60,"line":489},[58,1730,76],{"emptyLinePlaceholder":75},[58,1732,1733,1735,1737,1739,1741,1743],{"class":60,"line":494},[58,1734,124],{"class":68},[58,1736,127],{"class":89},[58,1738,131],{"class":130},[58,1740,134],{"class":89},[58,1742,137],{"class":130},[58,1744,140],{"class":89},[58,1746,1747,1749,1751,1753,1756,1758,1760,1763],{"class":60,"line":505},[58,1748,147],{"class":146},[58,1750,134],{"class":89},[58,1752,616],{"class":615},[58,1754,1755],{"class":619},"Shuffled list:",[58,1757,616],{"class":615},[58,1759,97],{"class":89},[58,1761,1762],{"class":130}," numbers",[58,1764,140],{"class":89},[19,1766,517],{},[49,1768,1770],{"className":51,"code":1769,"language":53,"meta":54,"style":54},"Random item: 30\nShuffled list: [20, 40, 10, 30]\n",[14,1771,1772,1782],{"__ignoreMap":54},[58,1773,1774,1777,1779],{"class":60,"line":61},[58,1775,1776],{"class":68},"Random item",[58,1778,749],{"class":89},[58,1780,1781],{"class":93}," 30\n",[58,1783,1784,1787,1790,1792,1794,1797,1799,1801,1803,1806,1808,1810],{"class":60,"line":72},[58,1785,1786],{"class":68},"Shuffled ",[58,1788,1789],{"class":1453},"list",[58,1791,749],{"class":89},[58,1793,90],{"class":89},[58,1795,1796],{"class":93},"20",[58,1798,97],{"class":89},[58,1800,1680],{"class":93},[58,1802,97],{"class":89},[58,1804,1805],{"class":93}," 10",[58,1807,97],{"class":89},[58,1809,1675],{"class":93},[58,1811,118],{"class":89},[19,1813,1814,1815,127],{},"If you want to learn that function next, see ",[238,1816,1818,1820],{"href":1817},"\u002Fstandard-library\u002Frandom.choice-function-explained",[14,1819,1607],{}," explained",[44,1822,1824],{"id":1823},"common-mistakes","Common mistakes",[19,1826,1827,1828,749],{},"Here are the most common problems beginners run into with ",[14,1829,16],{},[28,1831,1832,1840,1843,1849],{},[31,1833,1834,1835,1837,1838],{},"Assigning the result of ",[14,1836,16],{}," to a variable and getting ",[14,1839,39],{},[31,1841,1842],{},"Trying to shuffle a tuple or string",[31,1844,1845,1846],{},"Forgetting to ",[14,1847,1848],{},"import random",[31,1850,1851],{},"Expecting the same shuffled order every time without setting a seed",[19,1853,1854],{},"These quick checks can help when debugging:",[49,1856,1858],{"className":51,"code":1857,"language":53,"meta":54,"style":54},"import random\nprint(my_list)\nresult = random.shuffle(my_list)\nprint(result)\nprint(type(my_list))\nprint(len(my_list))\n",[14,1859,1860,1866,1876,1895,1906,1922],{"__ignoreMap":54},[58,1861,1862,1864],{"class":60,"line":61},[58,1863,65],{"class":64},[58,1865,69],{"class":68},[58,1867,1868,1870,1872,1874],{"class":60,"line":72},[58,1869,147],{"class":146},[58,1871,134],{"class":89},[58,1873,278],{"class":130},[58,1875,140],{"class":89},[58,1877,1878,1881,1883,1885,1887,1889,1891,1893],{"class":60,"line":79},[58,1879,1880],{"class":68},"result ",[58,1882,86],{"class":85},[58,1884,1140],{"class":68},[58,1886,127],{"class":89},[58,1888,131],{"class":130},[58,1890,134],{"class":89},[58,1892,278],{"class":130},[58,1894,140],{"class":89},[58,1896,1897,1899,1901,1904],{"class":60,"line":121},[58,1898,147],{"class":146},[58,1900,134],{"class":89},[58,1902,1903],{"class":130},"result",[58,1905,140],{"class":89},[58,1907,1908,1910,1912,1915,1917,1919],{"class":60,"line":143},[58,1909,147],{"class":146},[58,1911,134],{"class":89},[58,1913,1914],{"class":1453},"type",[58,1916,134],{"class":89},[58,1918,278],{"class":130},[58,1920,1921],{"class":89},"))\n",[58,1923,1924,1926,1928,1931,1933,1935],{"class":60,"line":372},[58,1925,147],{"class":146},[58,1927,134],{"class":89},[58,1929,1930],{"class":146},"len",[58,1932,134],{"class":89},[58,1934,278],{"class":130},[58,1936,1921],{"class":89},[19,1938,1939],{},"What these lines help you check:",[28,1941,1942,1945,1953,1956],{},[31,1943,1944],{},"whether your list contains the values you expect",[31,1946,1947,1948,1950,1951],{},"whether ",[14,1949,734],{}," returned ",[14,1952,39],{},[31,1954,1955],{},"whether your variable is actually a list",[31,1957,1958],{},"whether the list has items in it",[19,1960,1961],{},"If you want a task-focused example, see how to shuffle a list in Python.",[44,1963,1965],{"id":1964},"faq","FAQ",[1079,1967,1969,1970,1972],{"id":1968},"does-randomshuffle-return-a-new-list","Does ",[14,1971,16],{}," return a new list?",[19,1974,1975,1976,127],{},"No. It changes the original list and returns ",[14,1977,39],{},[1079,1979,1981,1982,1984],{"id":1980},"can-i-use-randomshuffle-on-a-tuple","Can I use ",[14,1983,16],{}," on a tuple?",[19,1986,1987],{},"No. Tuples cannot be changed in place. Convert the tuple to a list first.",[1079,1989,1991,1992,1994,1995,1997],{"id":1990},"why-is-my-variable-none-after-using-randomshuffle","Why is my variable ",[14,1993,39],{}," after using ",[14,1996,16],{},"?",[19,1999,2000,2001,2003,2004,2006],{},"Because ",[14,2002,734],{}," returns ",[14,2005,39],{},". It modifies the list directly.",[1079,2008,2010],{"id":2009},"how-do-i-shuffle-without-changing-the-original-list","How do I shuffle without changing the original list?",[19,2012,2013],{},"Copy the list first, then shuffle the copy.",[44,2015,2017],{"id":2016},"see-also","See also",[28,2019,2020,2026,2033,2040],{},[31,2021,2022],{},[238,2023,2024,243],{"href":240},[14,2025,124],{},[31,2027,2028],{},[238,2029,2030,2032],{"href":1817},[14,2031,1607],{}," function explained",[31,2034,2035],{},[238,2036,2037,2039],{"href":1070},[14,2038,1073],{}," method",[31,2041,2042],{},[238,2043,2044],{"href":580},"Mutability in Python: mutable vs immutable types",[2046,2047,2048],"style",{},"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 .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 .srdBf, html code.shiki .srdBf{--shiki-light:#F76D47;--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 .sptTA, html code.shiki .sptTA{--shiki-light:#6182B8;--shiki-default:#005CC5;--shiki-dark:#79B8FF}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 .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 .s39Yj, html code.shiki .s39Yj{--shiki-light:#39ADB5;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sZMiF, html code.shiki .sZMiF{--shiki-light:#E2931D;--shiki-default:#005CC5;--shiki-dark:#79B8FF}",{"title":54,"searchDepth":72,"depth":72,"links":2050},[2051,2052,2054,2055,2056,2057,2058,2063,2065,2066,2075],{"id":46,"depth":72,"text":47},{"id":198,"depth":72,"text":2053},"What random.shuffle() does",{"id":246,"depth":72,"text":247},{"id":300,"depth":72,"text":301},{"id":584,"depth":72,"text":585},{"id":738,"depth":72,"text":739},{"id":1076,"depth":72,"text":1077,"children":2059},[2060,2062],{"id":1081,"depth":79,"text":2061},"random.shuffle(my_list) does not return the shuffled list",{"id":1315,"depth":79,"text":1316},{"id":1600,"depth":72,"text":2064},"When to use random.shuffle() vs random.choice()",{"id":1823,"depth":72,"text":1824},{"id":1964,"depth":72,"text":1965,"children":2067},[2068,2070,2072,2074],{"id":1968,"depth":79,"text":2069},"Does random.shuffle() return a new list?",{"id":1980,"depth":79,"text":2071},"Can I use random.shuffle() on a tuple?",{"id":1990,"depth":79,"text":2073},"Why is my variable None after using random.shuffle()?",{"id":2009,"depth":79,"text":2010},{"id":2016,"depth":72,"text":2017},"Master random.shuffle function explained in our comprehensive Python beginner guide.","md",{},"\u002Fstandard-library\u002Frandom.shuffle-function-explained",{"title":5,"description":2076},"standard-library\u002Frandom.shuffle-function-explained","dRepyD7NkhcCJNDZVZ76UnuC9o-x0RJkvFmfvo7JNtc",1777585471175]