概述
random [ˈrændəm]:随机的
-
random 模块是 Python的内置模块
-
random 主要用来生成随机数
常用方法:
random.randrange(start, stop, step)
返回一个range(start, stop, step)数组中随机一个数
等价于random.choice(range(start, stop, step))
random.randint(start, stop)
返回[start, stop]内随机一个整数
即random.randrange(start, stop+1)
random.random()
无参数
随机返回一个0~1内的浮点数,不包括1
random.uniform(start, stop)
返回[start, stop]内随机一个浮点数
In:random.uniform(0, 1)
out:0.8566146012081072
random.choice(sequence)
传入一个序列(列表、元组、字符串等)
随机返回序列中的一个元素
In:random.choice([1, 2, 3])
out:2
In:random.choice('python')
out:'p'
random.sample(seq, k)
传入一序列
随机从序列中选择k个元素(不重复)
返回由选择出的k个元素组成的列表
In:random.sample('python', 2)
out:['p', 't']
random.shuffle(list_x)
传入一个列表对象
列表将会被重新排序
不返回任何值
In[1]:a = [1, 2, 3, 4]
In[2]:random.shuffle(a)
In[3]:a
Out[3]:[2, 3, 1, 4]
random.seed(a)
type(a)为int, float, str等
配合其他随机函数一起使用,调用其他随机模块函数之前调用此函数
当seed()没有参数时,每次生成的随机数是不一样的
当seed()有参数时,每次使用相同随机函数生成的随机数是一样的
In[1]:random.seed(1)
In[2]:random.random()
Out[2]:0.9154194752619804
In[3]:random.seed(1)
In[4]:random.randint(1, 10)
Out[4]:3
In[5]:random.seed(1)
In[6]:random.random() # 再次使用相同种子调用相同函数,返回值相同
Out[6]:0.9154194752619804
In[7]:random.seed[1]
In[7]:random.randint(1,7)
Out[7]:3
In[8]:random.seed(1)
In[9]:random.randint(1, 8)
Out[9]:6
概率模型
正态分布
random.gauss(mu, sigma)
或random.normalvariate(mu, sigma)
mu是均值, sigma是标准差
import random
from matplotlib import pyplot as plt
y = [random.gauss(50, 5) for i in range(10000)]
plt.hist(y, 50)
plt.show()
beta分布
random.betavariate(alpha, beta)
以beta分布的概率分布返回0到1之间的随机数。
贝塔分布(Beta Distribution) 是一个作为 伯努利分布 和二项式分布的 共轭先验分布 的 密度函数 ,在机器学习和 数理统计学 中有重要应用。. 在 概率论 中, 贝塔分布 ,也称 Β分布, 是指一组定义在 (0,1) 区间的连续 概率分布 。
指数分布
gamma分布
weibull分布
等等
最后
以上就是光亮饼干为你收集整理的random模块的全部内容,希望文章能够帮你解决random模块所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复