Python基礎(二十六):random模塊

一、random模塊作用

random 模塊提供了一組隨機函數,可以生成隨機浮點數、整數、字符串,甚至幫助你隨機選擇列表序列中的一個元素,打亂一組數據等。

二、random 模塊中的所有函數

函數 作用
random.random() 生成 0~1以內的隨機小數,左閉右開
random.randint(1,3) 生成1-3之間的隨機整數,左閉右閉
random.randint(1, 10, 2) 生成1-10之間隨機整數,間隔爲2,理解爲取奇數
random.randrange(0, 10) 生成2-10之間的隨機整數,左閉右開
random.randrange(1, 10,2) 生成1-10之間隨機整數,間隔爲2,理解爲取奇數
random.uniform(1, 10) #生成1.0到10以內的隨機浮點數,左閉右開
random.shuffle(list01) 打亂list01列表中的順序
random.choice([1, 2, 5]) 從列表中隨機抽一個值,也可以爲元組和字符串
random.choices([1, 2, 3], k=5, weight=[1, 2, 3]) 從列表中隨機抽取可能重複的元素,一次抽取5個,抽取到的概率依次遞增
random.sample([1, 2, 3, 4], k=4) 從列表中隨機抽取不重複的元素,一次抽取4個,生成列表

3.函數實例

1. 基礎函數

random()函數 是random模塊中與模塊同名的基礎函數,它的功能是生成 0~1以內的隨機小數。

import random
print(random.random())  #0.8003585112831768

2. 生成函數

除基礎函數random()之外,在生成隨機數的需求上還可能會附加一些額外的條件,比如規定起始點終止點,比如生成特定的數字(奇數,偶數)等,根據條件的不同,可以選擇不同的生成函數。

>>> import random
>>> random.randint(1, 10) # 生成1到10以內的隨機整數,包含1和10
6
>>> random.randint(1, 10, 2) # 生成1到10以內,間隔爲2的隨機整數(可以視爲奇數)
3
>>> random.randrange(0, 10) # 生成0到10以內的隨機整數,包含0,不包含10
8
>>> random.randrange(0, 102) # 生成0到10以內,間隔爲2的隨機整數(可以視爲偶數)
4
>>> random.uniform(110) # 生成1.1到10以內的隨機浮點數
1.7121809277539233

3. 獲取函數

獲取函數是在一組已經存在的列表、數組或者是字符串中,隨機抽取出單個或多個元素的操作。

>>> import random
>>> random.choice([1, 2, 3, 4, 5]) # 從列表中隨機抽取元素
2
>>> random.choice(‘Python’) # 從字符串中隨機抽取元素
'h'
>>> random.sample([1, 2, 3, 4], k=4) # 從列表中隨機抽取不重複的元素,一次抽取4個,生成列表
[3,1,4,2]
>>> random.sample('Python', k=4) # 從字符串中隨機抽取不重複的元素,一次抽取4個,生成列表
['y', 'h', 'n', 'P']
>>> random.choices([1, 2, 3], k=5, weight=[1, 2, 3]) # 從列表中隨機抽取可能重複的元素,一次抽取5個,抽取到的概率依次遞增
[3,2,3,1,3]

4. 打亂函數

打亂函數是對一組已經存在的列表進行元素內部打亂的操作。因爲此函數只是修改已有的對象,而不會生成新的對象,所以函數本身的值始終爲None。

>>> import random
>>> list01 = [1, 2, 3, 4, 5]     
>>> list02 = random.shuffle(list01)   # 參數只能爲列表

>>> list01
[3,1,4,2,5]
>>> list02
None
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章