<prompt> Andika chaguo za kukokotoa ambazo huchanganya vipengele vya safu nasibu.  <response>: Hapa kuna njia moja unayoweza kuandika kazi katika Python ili kuchanganya kwa nasibu vitu vya safu kwa kutumia algoriti ya Fisher-Yates changa: python ingiza bila mpangilio def shuffle_arrayarray: Pata urefu wa safu n lensafu. Rudia kutoka kipengele cha mwisho hadi cha kwanza kwa i katika masafa n-1, 0, -1: Chagua faharasa nasibu kutoka 0 hadi ij random.randint0, i Badili kipengele katika i na kipengele katika j arrayi, arrayj safuj, safui Mfano wa matumizi: safu_yangu 1, 2, 3, 4, 5 shuffle_arraysafu_yangu chapasafu_yangu Chaguo hili la kukokotoa hutumia algoriti ya uchanganuzi ya Fisher-Yates pia inajulikana kama uchanganuzi wa Knuth ili kuchanganya bila mpangilio vipengele vya safu. Wazo nyuma ya algorithm ni kurudia kupitia safu kutoka kwa kipengee cha mwisho hadi cha kwanza, na kwa kila kipengele, chagua faharisi isiyo ya kawaida kutoka 0 hadi faharisi ya sasa, kisha ubadilishane kipengele kwenye faharisi ya sasa na kipengele kwa nasibu iliyochaguliwa. index. Hii inahakikisha kwamba kila kibali kinachowezekana cha safu kina nafasi sawa ya kuzalishwa kwa kuchanganya vipengele bila mpangilio. 