Python程序设计与案例教程 chap12Python标准库
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
choice(seq)
从非空序列seq中随机选取一个元素。如果seq为空
则弹出 IndexError异常
choices(population, Python3.6版本新增。从population集群中随机抽取
weights=None, *, K个元素。weights是相对权重列表,cum_weights
cum_weights=None, 是累计权重,两个参数不能同时存在
k=1)
shuffle(x[, random]) 随机打乱序列x内元素的排列顺序,只能针对可变
的序列
sample(population, k) 从population样本或集合中随机抽取K个不重复的
元素形成新的序列。常用于不重复的随机抽样,
random库常用方法——choice()
(5) choice(seq) 功能:从非空序列seq中随机选取一个元素
>>> import random >>> random.choice([1, 2, 3, 5, 9]) 5 >>>random.choice('A String') A
random库常用方法——shuffle()
(6) shuffle(x[, random]) 功能:随机打乱序列x内元素的排列顺序,返回随机排序后
的序列
使用shuffle()方法实现模拟洗牌程序。 1 import random 2 list = [20, 16, 10, 5] 3 random.shuffle(list) 4 print( "随机排序列表:",list) 5 random.shuffle(list) 6 print( "随机排序列表:",list)
random库常用方法——randint()
(3) randint(a,b) 功能:返回一个a <= N <= b的随机整数N
>>> import random >>> random.randint(3,10) 4 >>> random.randint(3,10) 7
random库常用方法——randrange()
Python程序设计与案例教程 第12章 Python标准库
12.1 random库
随机数:在某次产生过程中是按照实验过程中表现的分布概 率随机产生的,其结果是不可预测、不可见的
计算机的伪随机数是由随机种子根据一定的计算方法计算 出来的数值
import random
random库——random的基本方法
triangular(low, high, mode)
返回一个low <= N <=high的三角形分布的随机数。 参数mode指明众数出现位置
betavariate(alphபைடு நூலகம், beta) β分布。返回的结果在0~1之间
expovariate(lambd)
指数分布
gammavariate(alpha, beta) 伽马分布
random库常用方法——sample()
(7) sample(population, k) 功能:从population样本或集合中随机抽取K个不重复的
元素形成新的序列
>>> random.sample([10, 20, 30, 40, 50], k=4) [30, 40, 50, 20] >>> random.sample([10, 20, 30, 40, 50], k=4) [20, 50, 10, 40] >>> random.sample([10, 20, 30, 40, 50], k=4) [20, 40, 30, 50]
random库——针对整数的方法
方法
含义
randint(a, b) 返回一个a <= N <= b的随机整数
randrange([start,] 从指定范围start~stop内,按指定步长step递
stop[,step])
增的集合中,获取一个随机整数
random库——针对序列类结构的方法
方法
含义
gauss(mu, sigma)
高斯分布
normalvariate(mu, sigma) 正态分布
random库常用方法——random()
(1) random() 功能:返回一个介于左闭右开[0.0, 1.0)区间的浮点数
>>> import random >>> random.random() 0.8050901378898727
(4) randrange([start,]stop[,step]) 功能:从指定范围start~stop内,按指定步长step递增的
集合中,获取一个随机整数
>>> import random >>> random.randrange(1,10,2) 3 >>> random.randrange(1,10,2) 9
random库常用方法——seed()
例2:修改例1,seed()只执行一次。
1 import pickle 2 i=12345 3 f=2017.2017 4 b=False 5 fp=open("e:\\string2.txt","wb") 6 pickle.dump(i,fp) 7 pickle.dump(f,fp) 8 pickle.dump(b,fp) 9 fp.close()
方法
含义
seed(a)
初始化伪随机数生成器
getstate()
返回一个当前生成器的内部状态的对象
setstate(state)
传入一个先前利用getstate方法获得的状态对象,使得生成器恢复 到这个状态
getrandbits(k)
返回一个不大于K位的Python整数(十进制),比如k=10,则结 果在0~2^10之间的整数
返回的是一个新的序列,不会破坏原有序列。从
一个整数区间随机抽取一定数量的整数。如果k大
于population的长度,则弹出ValueError异常
random库——真值分布
方法 random()
含义 返回一个介于左闭右开[0.0, 1.0)区间的浮点数
uniform(a, b)
返回一个介于a和b之间的浮点数。如果a>b,则是b 到a之间的浮点数。这里的a和b都有可能出现在结 果中
注意:该语句每次运行的结果不同,但都介于0~1之间。
random库常用方法——seed()
(2) seed(a) 功能:初始化伪随机数生成器,给随机数对象一个种子值
,用于产生随机序列。 例1:随机数应用举例 1 from numpy import * 2 num = 0 3 while(num < 5): 4 random.seed(5) 5 print(random.random()) 6 num += 1