1. 程式人生 > >python中的隨機函式

python中的隨機函式

python--隨機函式(random,uniform,randint,randrange,shuffle,sample)

本文轉載自:[chamie]

random()

random()方法:返回隨機生成的一個實數,它在[0,1)範圍內

運用random()方法的語法:

import random  #random()方法不能直接訪問,需要匯入random模組,然後通過random靜態物件呼叫該方法

random.random

random.random()方法用於生成一個0到1的隨機浮點數:0<=n<1.0

>>> import random
>>> print "random():",random.random()
random(): 0.809221478124
>>> print "random():",random.random()
random(): 0.877521147987

random.uniform

random.uniform(a,b):用於生成一個指定範圍內的隨機浮點數,兩格引數中,其中一個是上限,一個是下限。如果a>b,則生成的隨機數n,即b<=n<=a;如果a>b,則a<=n<=b。

>>> import random
>>> print random.uniform(10,20)
13.2960134544
>>> print random.uniform(20,10)
15.9038751838

random.randint

random.randint(a,b):用於生成一個指定範圍內的整數。其中引數a是下限,引數b是上限,生成的隨機數n:a<=n<=b

>>> import random
>>> print random.randint(10,20)
11
>>> print random.randint(20,20)
20
#print random.randint(20,10) #該語句是錯誤的,下限必須小於上限

random.randrange

random.randrange([start],stop[, step]):從指定範圍內,按指定基數遞增的集合中獲取一個隨機數。如:random.randrange(10,100,2),結果相當於從[10,12,14,16,...,96,98]序列中獲取一個隨機數。random.randrange(10,100,2)在結果上與random.choice(range(10,100,2))等效。

 
>>> import random
>>> print random.randrange(10,100,2)
72
>>> print random.choice(range(10,100,2))
28
>>> print random.choice(range(10,100,2))
74

random.choice

random.choice(sequence):引數sequence表示一個有序型別。sequence在python不是一種特定的型別,而是泛指一系列的型別。list,tuple,字串都屬於sequence。

>>> import random
>>> print random.choice("學習python")
t
>>> print random.choice(["JGood","is","a","handsome","body"])
is
>>> print random.choice(("Tuple","list","Dict"))
list

random.shuffle

random.shuffle(x[, random]):用於將一個列表中的元素打亂。

>>> import random
>>> p=["pyhton","is","powerful","simple","and so on..."]
>>> random.shuffle(p)
>>> p
['and so on...', 'simple', 'powerful', 'pyhton', 'is']

random.sample

random.sample(sequence,k):從指定序列中隨機獲取指定長度的片段,sample函式不會修改原有序列。

>>> import random
>>> list=[1,2,3,4,5,6,7,8,9,10]
>>> a=random.sample(list,5) #從list中隨機獲取5個元素,作為一個片段返回
>>> print a
[1, 6, 10, 8, 3]
>>> print list   #原有序列並沒有改變
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]