python隨機選擇 在python中實現隨機選擇

2021-10-11 04:44:16 字數 1135 閱讀 5521

想從乙個序列中隨機抽取若干元素,或者想生成幾個隨機數。

random 模組有大量的函式用來產生隨機數和隨機選擇元素。比如,要想從乙個序列中隨機的抽取乙個元素,可以使用random.choice() :

>>> import random

>>> values = [1, 2, 3, 4, 5, 6]

>>> random.choice(values)

>>> random.choice(values)

>>> random.choice(values)

為了提取出n 個不同元素的樣本用來做進一步的操作,可以使用random.sample()

>>> random.sample(values, 2)

[6, 2]

>>> random.sample(values, 2)

[4, 3]

>>> random.sample(values, 3)

[4, 3, 1]

如果你僅僅只是想打亂序列中元素的順序,可以使用random.shuffle() :

>>> random.shuffle(values)

>>> values

[2, 4, 6, 5, 3, 1]

>>> random.shuffle(values)

>>> values

[3, 5, 2, 1, 6, 4]

生成隨機整數,請使用random.randint() :

>>> random.randint(0,10)

>>> random.randint(0,10)

為了生成0 到1 範圍內均勻分布的浮點數,使用random.random() :

>>> random.random()

0.9406677561675867

>>> random.random()

0.133129581343897

如果要獲取n 位隨機位(二進位制) 的整數,使用random.getrandbits() :

>>> random.getrandbits(200)

在random 模組中的函式不應該用在和密碼學相關的程式中。如果你確實需要類似的功能,可以使用ssl 模組中相應的函式。比如, ssl.rand bytes() 可以用來生成乙個安全的隨機位元組序列。

在python中輸出 在輸出中列印Python版本

如何從指令碼中列印當前python安裝的版本號?嘗試import sys print sys.version 這將列印完整的版本資訊字串。如果您只想要python版本號,那麼bastien l onard的解決方案是最好的。您可能想檢查完整的字串,看看是否需要它或它的一部分。import platf...

隨機選擇演算法

問題描述 本文主要討論這樣乙個問題 如何從乙個無序的陣列中求出第k大的數。這個問題最直接的想法是對陣列排一下序,然後直接取出第k個元素即可,這樣做法需要o nlogn 的時間複雜度。這個方法比較簡單,在執行時間允許的情況下當然選這個方法 下面介紹隨機選擇演算法,它對任何輸入都可以達到o n 的期望時...

隨機選擇演算法

如何求解無序陣列中第k大的數?問題 將陣列劃分為兩個子集,元素個數分別為n1,n2,兩個子集各自元素之和分別為s1,s2,使 s2 s1 盡可能大,使 n1 n2 盡可能小。求 s2 s1 分析 僅尋找陣列中第n 2大的數,將陣列劃分為兩個集合,乙個子集的元素都小於這個數,另乙個子集的元素都大於這個...