清單隨機化器

貼上一個列表(每行一個項目),然後我們使用加密品質的隨機性將其打亂為新的隨機順序。

範例: Alice Bob Charlie Dana → Charlie Alice Dana Bob

清單隨機產生器可以獲得任何清單——姓名、任務、團隊、抽獎條目、集思廣益的想法——並使用 Fisher-Yates 演算法。每個排列都有相同的可能性,每次隨機播放都是獨立的,您的清單永遠不會離開您的瀏覽器。

使用它來進行選秀、抽獎順序、隨機分配雜務、選擇遊戲中的第一名,或者只是從前 N 名列表中消除您自己的偏見。

打亂的清單是公平的答案

萊佛士和贈品

貼上您的參賽列表,點擊“轉換”,最上面一行就是您的獲勝者。重新運行以獲得第二名、第三名等。比旋轉賽車簡單得多。

選秀和球隊分配

有夢幻聯賽或臨時比賽名單嗎?貼上玩家列表,隨機播放,然後從上到下讀取順序。

消除自己的偏見

組建演示順序、評審團或會議演講陣容?重新排列清單以消除無意識的偏袒。

決策

陷入選擇之間?列出它們,洗牌,取第一個。隨機性戰勝了決策癱瘓。

測驗或調查輪換

隨機化問題順序,以便受訪者無法錨定第一個項目。貼上、隨機播放、再貼回來。

費雪-耶茨洗牌以及為什麼順序很重要

列表隨機化器使用 費雪-耶茨洗牌 (也稱為 Knuth shuffle)以生成輸入行的均勻隨機排列。該算法從最後一個元素迭代到第一個元素,將每個元素與剩餘未洗牌部分中隨機選擇的元素交換。對於加密品質的隨機性,該工具利用 crypto.getRandomValues() (透過 Web Crypto API)而不是 Math.random()。這確保了每次洗牌都是獨立的、不可預測的,並且適合公平抽獎或安全敏感的比賽。核心循環在 O(n) 時間內運行,保證 n!可能的排序是等機率的。僅列表順序發生變化;沒有資料傳輸到任何伺服器。

如何隨機化列表

  1. 將清單貼上或鍵入到文字區域,每行一項。
  2. 點選 隨機化 按鈕來隨機播放清單。
  3. 在輸出面板中查看重新排序的清單;將其複製到剪貼簿。
  4. 點選 隨機化 再次進行不同的洗牌-每次運行都是獨立的。

重複的條目、空白行和很長的列表

空列表
如果未提供任何項目,則輸出保持為空並且不會發生隨機播放。
單品
包含一行的列表原封不動地返回-只存在一種排列。
重複項目
重複項被視為不同的位置;每個排列的可能性相同,因此重複項可能會連續出現。
尾隨行或空白行
空白行算是項目;為了獲得最佳結果,請在打亂之前刪除空白行。

舉辦人們會信任的贈品活動

  • 使用清單隨機產生器進行公平抽獎或選秀順序 - 加密隨機性確保沒有偏見。
  • 透過在洗牌之前連接兩個清單來合併它們,然後隨機拆分以進行團隊分配。
  • 要以相同方式打亂多個列表,請打亂一個列表並使用其排列索引手動重新排序其他列表。
  • 複製打亂的清單並貼上到新工具(例如隨機選擇器)中,以便在需要時進一步隨機化。

Fisher-Yates 與按隨機鍵排序

雖然許多方法都可以隨機化列表,但列表隨機化器提供了一種無需離開瀏覽器的無摩擦、加密安全的方法。

這個工具Python 的 random.shuffle()電子表格 RAND() + 排序
隨機性來源加密(Web 加密 API)梅森扭曲者 (PRNG)浮點 PRNG
易於使用無需設定:貼上並點擊需要Python安裝和程式碼需要公式和手動排序
再現性無種子;每次洗牌都是獨立的可以播種以獲得可重複的結果播種並不簡單
安全性適用於抽獎和彩票不加密安全不加密安全

為什麼天真的洗牌會產生微妙的偏差

費雪-耶茨洗牌 (Fisher-Yates shuffle) 以羅納德·費雪 (Ronald Fisher) 和弗蘭克·耶茨 (Frank Yates) 的名字命名,首次在他們 1938 年的書中描述 生物、農業和醫學研究統計表。唐納德·高德納 (Donald Knuth) 後來在 電腦程式設計的藝術 (第 2 卷,1969 年)。該演算法的持久吸引力在於其簡單性以及在線性時間內產生無偏排列的能力——這是隨機演算法和此類工具的基礎構建塊。

列出隨機化問題

洗牌真的是隨機的嗎?

它使用 JavaScript 的 Math.random() 透過 Fisher-Yates 演算法——每個排列都有相同的機率。它在加密上不安全(不要用於安全目的),但對於抽獎、選秀和決策來説它是完全公平的。

它會刪除重複嗎?

不——它保留重複項。如果「Alice」出現兩次,則兩個副本都會出現在輸出中。使用我們的 刪除重複行 如果您想要獨特的條目,請先使用工具。

它可以處理多少物品?

測試了多達 50,000 條線路,沒有減速。除此之外,瀏覽器可能會凍結一會兒,但它仍然可以工作。

是否保留空行?

否 - 空白行在打亂之前被過濾掉。如果您想要保留空白行作為分隔符,請先用佔位符取代它們。

將我們的工具嵌入您的網站

對任何網站免費。沒有註冊。 iframe 從我們的伺服器載入並自動保持最新狀態。

📋 嵌入字數計數器

複製此片段(自動調整大小,複製按鈕有效):

即時預覽:

📋 嵌入此清單隨機產生器

複製此片段(自動調整大小,複製按鈕有效):

即時預覽:

想要更多選擇嗎? 所有嵌入式工具 →