2014-03-30 126 views
10

我GOOGLE了很多,但無法找到它。我想知道random.sample()方法的用法,它給了什麼?何時應該使用它以及一些示例用法。python中的random.sample()方法是做什麼的?

+3

http://docs.python.org/2/library/random.html#random.sample – sshashank124

+1

http://stackoverflow.com/questions/22577916/using-nested-loops-to-generate-3-different-random-numbers/22577977#22577977 –

回答

25

根據documentation

random.sample(人口中,k)

返回唯一元素的第k長度列表 從羣體中選擇的序列。用於沒有 替換的隨機抽樣。

基本上,它挑選ķ唯一的隨機元素,一個樣品,從一個序列:

>>> import random 
>>> c = list(range(0, 15)) 
>>> c 
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14] 
>>> random.sample(c, 5) 
[9, 2, 3, 14, 11] 

random.sample作品也直接從一個範圍:

>>> c = range(0, 15) 
>>> c 
range(0, 15) 
>>> random.sample(c, 5) 
[12, 3, 6, 14, 10] 

除了序列,random.sample配套套裝太:

>>> c = {1, 2, 4} 
>>> random.sample(c, 2) 
[4, 1] 

然而,random.sample不與任意迭代工作:

>>> c = [1, 3] 
>>> random.sample(iter(c), 5) 
TypeError: Population must be a sequence or set. For dicts, use list(d). 
+0

所以從給定的順序它會隨機選擇一個給定的no。的元素,對嗎? – kartikeykant18

+0

@kartikey_kant是的,就是這樣,很簡單。 – alecxe

相關問題