python random模塊介紹

一、random.random()git

  random.random() 的功能是隨機返回一個 0-1範圍內的浮點數。dom

import random
a = random.random()
print(a, type(a))
結果:
0.8598833637621788 <class 'float'>

二、random.randrange(start,stop[,step])函數

  random.randrange(),隨機返回start到stop之間的一個整數,其中不包含stop元素,即顧頭不顧尾,此外還能夠設置步長。spa

import random
a = random.randrange(1, 10, 2)  # 1-10之間的奇數
print(a, type(a))
結果:
3 <class 'int'>

三、random.randint(a,b)code

  隨機返回[a,b]之間的整數,包括a和b,即顧頭又顧尾。即random.randrange(a,b+1)orm

import random
a = random.randint(1, 5)
print(a, type(a))
結果:
5 <class 'int'>

四、random.choice(sep)blog

  random.choice(sep)函數是隨機返回sep序列中的一個元素,sep非空,能夠是列表、字符串、元組等。ci

import random
a = random.choice("abc1234")
b = random.choice([1, 2, 3, 4])
c = random.choice((1, 2, 3, 4))
print(a, b, c)
結果:
b 4 1

五、random.sample(population,k)字符串

  random.sample(population,k)函數是從大量的序列或集合元素中隨機抽取k個獨一無二的元素。get

import random
a = random.sample("1ers%#128aaee", 4)
b = random.sample({1, 2, 3, 4, 5, 6, 7, 8}, 4)  # 能夠是集合
c = random.sample(range(100000), 4)  # 還能夠經過range函數生成序列
d =
''.join(random.sample(string.ascii_lowercase + string.digits, 6)) # 驗證碼

print(a, b, c,d)
結果: ['s', 'e', '#', 'r'] [5, 2, 3, 8] [94298, 53763, 57161, 27395],dqcs9e

六、random.uniform(a,b)

  random.uniform(a,b)函數是隨機返回一個[a,b]之間的浮點數。

import random
a = random.uniform(1, 6)
print(a)
結果:
2.6420055881211013

七、random.shuffle(list)

  random.shuffle(list) 函數是對一個有序序列進行打亂順序,沒有返回值。

import random
a = [1, 2, 3, 4, 5, 6, 7]
random.shuffle(a)
print(a)
結果:[4, 2, 3, 5, 6, 7, 1]
 
 

八、random.getrandbits(k)

  random.getrandbits(k)生成一個k比特長的隨機整數。

import random
a = random.getrandbits(3)  # 返回[0-2**3)之間的整數
print(a)
結果:
7

九、random.choices(polulation,weights=None,*, cum_weights=None,k=1)

   random.choices(polulation,weights=None,*, cum_weights=None,k=1) 函數是從一個集羣中隨機選取k次數據,結果返回一個列表,元素的選取有響應的權重(或者機率),weights表示相對權重,cum_weights表示累計權重,若是設置權重,len(population) == len(weights)  或 len(population) == len(cum_weights)。

import random
a = random.choices([1, 2, 3, 4, 5], weights=[1, 0, 0, 0, 0], k=2)  # 表示第一個元素的權重爲1,其他元素爲0,因此只能取到第一個元素的值
print(a)
結果:[1, 1]

b = random.choices([1, 2, 3, 4, 5], weights=[1, 1, 1, 1, 1], k=2)  # 表示每一個元素的權重均爲1/5,即取到每一個元素的機率相同。
print(b)
結果:[4, 1]

c = random.choices([1, 2, 3, 4, 5], cum_weights=[1, 1, 1, 1, 1], k=2)  # cum_weights = [1,1,1,1,1] 至關於weights = [1,0,0,0,0]
print(c)
結果:[1, 1]
相關文章
相關標籤/搜索