首頁 >後端開發 >Python教學 >如何在 Python 中產生一定範圍內的唯一隨機數列表?

如何在 Python 中產生一定範圍內的唯一隨機數列表?

Susan Sarandon
Susan Sarandon原創
2024-12-02 22:39:11762瀏覽

How Can I Generate a List of Unique Random Numbers Within a Range in Python?

在一個範圍內產生唯一的隨機數

鑑於能夠使用random.randint 產生一個範圍內的隨機數,任務就出現了產生唯一隨機數字列表。雖然迭代條件語句可以作為一種解決方案,但還有一種更優雅的方法可以有效地實現此結果。

隨機取樣

Python 的 random 模組專門提供了一個名為 Sample 的函數設計用於無需更換的取樣。此函數採用總體(例如,數字列表)和樣本大小作為參數,並傳回從總體中隨機選擇的唯一元素的列表。

例如,產生 3 個唯一隨機數的清單在 [1, 100] 範圍內,可以使用以下程式碼:

import random

population = range(1, 100)  # Initialize the population
sample_size = 3  # Set the sample size
random_sample = random.sample(population, sample_size)

random_sample 現在將包含指定範圍內的 3個唯一隨機數的列表

處理大小差異

需要注意的是,如果樣本大小超過總體大小,樣本將引發 ValueError。為了處理這種情況,可以使用 try-except 區塊來捕獲異常並進行相應處理。

例如,要嘗試從大小為2 的總體中產生大小為3 的樣本,可以編寫以下程式碼:

try:
    random.sample(range(1, 2), 3)
except ValueError:
    print('Sample size exceeded population size.')

如果樣本大小大於總體大小,則此程式碼將列印一條資訊性訊息而不是崩潰。

以上是如何在 Python 中產生一定範圍內的唯一隨機數列表?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn