Shuffle 洗牌 演算法 發表於 2018-04-03 更新於 2019-06-22 分類於 Code 閱讀次數: 閱讀次數: Disqus: 文章字數: 336 所需閱讀時間 ≈ 1 分鐘 之前有為了 搭配random做洗牌苦惱了很久後來也忘記有沒有找出解答了 單純,在剛剛突然想到了一種作法,紀錄一下 更新 : 後來發現 此算法就是 Fisher–Yates shuffle 的變化版 ... 果然古人早就(ry 想法很簡單,就是一個 array 放好之後,越取越小。 如果用 python 來做的話,大概是 : 123456789101112arr = []for i in range(52): arr[].append(i)new_arr = []for i in range(52): target = random().randint(0,arr.len()) # length 會隨著迴圈變小 new_arr.append(target) arr.remove(target) 算是一個直覺的想法,也許和已存在某種作法重複了。