Python隨機數(shù)模塊詳情
前言:
隨機數(shù)模塊實現(xiàn)了各種分布的偽隨機數(shù)生成器。對于整數(shù),從范圍中有統(tǒng)一的選擇。 對于序列,存在隨機元素的統(tǒng)一選擇、用于生成列表的隨機排列的函數(shù)、以及用于隨機抽樣而無需替換的函數(shù)。
1、生成隨機數(shù)
1.1 random.random() 方法
返回隨機生成的一個實數(shù),它在[0,1)范圍內(nèi)。
語法結(jié)構(gòu):
import random # 導入 random 模塊 random.random()
1.2 random.randint方法
語法格式:
random.randint(a,b)
函數(shù)返回數(shù)字 N ,N 為 a 到 b 之間的數(shù)字(a <= N <= b),包含 a 和 b
1.3 random.uniform方法
語法格式:
random.uniform(a,b)
函數(shù)返回一個隨機浮點數(shù) N ,當 a <= b 時 a <= N <= b ,當 b < a 時 b <= N <= a 。
1.4 random.randrange方法
語法結(jié)構(gòu):
random.randrange(start, stop[, step])
- start: 計數(shù)從
start開始。默認是從 0 開始。例如randrange(5)等價于range(0, 5); - stop: 計數(shù)到
stop結(jié)束,但不包括stop。例如:randrange(0, 5)是[0, 1, 2, 3, 4]沒有5 - step:步長,默認為1。例如:
range(0, 5)等價于randrange(0, 5, 1)
返回一個隨機范圍內(nèi)的數(shù)字
等價于choice(range(start, stop, step))
示例代碼:
import random random_value = random.random() print(random_value) randint_value = random.randint(1, 3) # 返回隨機整數(shù) print(randint_value) uniform_value = random.uniform(1, 3) # 返回隨機浮點數(shù) print(uniform_value) randrange_value = random.randrange(1, 100, 2) # 1到100步長為2(這里只能取到100以為的奇數(shù)) print(randrange_value)
每次運行取到的結(jié)果都是不一樣的。
2、用于序列的函數(shù)
2.1 random.choice(seq)
從非空序列中返回一個隨機元素,如果序列為空,則拋出異常
示例代碼:
import random value = random.choice(range(1, 100, 2)) # 這個等于random.randrange(1, 100, 2) print(value)
好像洗牌就要用這個方法哎
生成一個驗證碼的小案例:
import random
# 一個生成驗證號的小案例
all_chars = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
captcha = ''
for _ in range(4):
a = random.choice(all_chars)
captcha += a # 連接字符串
print(captcha)
2.2 random.shuffle()方法
shuffle(list) 方法將序列的所有元素隨機排序
示例代碼:
import random list1 = ["beautiful" , "cute", "beautiful", 'prefect', "beautiful", "甜甜", 'lovely'] random.shuffle(list1) print(list1)
2.3 random.sample()方法
random.sample(sequence, k) ,從指定序列中隨機獲取指定長度的片斷。sample函數(shù)不會修改原有序列。切片長度不能超過原有的長度,否則會拋出異常
示例代碼:
import random
list1 = ["beautiful", "cute", "beautiful", 'prefect', "beautiful", "甜甜", 'lovely']
list2 = random.sample(list1, len(list1))
print("原列表:", list1)
print("新列表:", list2)
這個方法可以給原序列排序并不破壞原有序列
到此這篇關(guān)于Python隨機數(shù)模塊詳情的文章就介紹到這了,更多相關(guān)Python隨機數(shù)模塊內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python爬取YY評級分數(shù)并保存數(shù)據(jù)實現(xiàn)過程解析
這篇文章主要介紹了Python爬取YY評級分數(shù)并保存數(shù)據(jù)實現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-06-06
使用Python和scikit-learn創(chuàng)建混淆矩陣的示例詳解
這篇文章主要介紹了使用Python和scikit-learn創(chuàng)建混淆矩陣的示例詳解,該示例包括生成數(shù)據(jù)集、為數(shù)據(jù)集選擇合適的機器學習模型、構(gòu)建、配置和訓練它,最后解釋結(jié)果,即混淆矩陣,需要的朋友可以參考下2022-06-06

