在Python中可以用于随机数生成的有两种主要途径,一是random模块,另一个是numpy库中random函数。
创新互联主要从事网站制作、网站设计、网页设计、企业做网站、公司建网站等业务。立足成都服务尼元阳,十年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:13518219792
在我们日常使用中,如果是为了得到随机的单个数,多考虑random模块;如果是为了得到随机小数或者整数的矩阵,就多考虑numpy中的random函数,当然numpy也可以的到随机的单个数
一、random模块
二、numpy库中random函数
random模块中将近有7个函数都是可以用来生成随机数的:
作用:随机生成一个 [0,1) 的浮点数
作用:随机生成一个 [a,b) 的浮点数
作用:随机生成一个 [a,b] 的整数
作用:从列表,元组,字符串、集合(可用于for循环的数据类型)中随机选择一个元素
作用:在生成的以a为始,每step递增,以b为终这样的一个整数序列中随机选择一个数
作用:打乱一个列表的元素顺序
从序列population中随机取出k个数;population的类型可以是列表、元组、集合、字符串;
在Numpy库中,常用使用np.random.rand()、np.random.randn()和np.random.randint()随机函数。
作用:返回一个或一组服从标准正态分布的随机样本值
备注:标准正态分布是以0为均数、以1为标准差的正态分布,记为N(0,1)。对应的正态分布曲线如下所示,即
作用:使用方法与np.random.randn()函数相同 ,通过本函数可以返回一个或一组服从“0~1”均匀分布的随机样本值。随机样本取值范围是[0,1),不包括1
numpy.random.randint(low, high=None, size=None, dtype='l')
输入:
low—–为最小值
high—-为最大值
size—–为数组维度大小
dtype—为数据类型,默认的数据类型是np.int。
作用: 返回随机整数或整型数组,范围区间为[low,high),包含low,不包含high; high没有填写时,默认生成随机数的范围是[0,low
np.random.random([size])
作用:生成[0,1)之间的浮点数,与np.random.rand()功能类似
np.random.choice(a,[ size, replace, p])
参考文档1: 【python】numpy之random库简单的随机数据生成.rand()、.randint()、.randn()、.random()等(一)
参考文档2: Python中随机数的生成
参考文档3: numpy.random模块常用函数
终于写完了,我以为它很简单的………………预计1小时,结果写了2.5小时
在Python中,你可以使用 random 模块的 randint() 函数来随机生成指定范围内的整数。例如,要随机生成100内的10个整数,你可以这样写:
==========================
import random # 导入random模块
# 使用random.randint()函数生成10个1到100的整数
for i in range(10):
print(random.randint(1, 100))
==========================
上面的代码将会生成10个1到100之间的随机整数,并依次输出。
如果你想要生成1到20之间的随机整数30个,你可以这样写:
===========================
import random # 导入random模块
# 使用random.randint()函数生成30个1到20的整数
for i in range(30):
print(random.randint(1, 20))
===========================
上面的代码将会生成30个1到20之间的随机整数,并依次输出。
需要注意的是,在Python中,random.randint() 函数生成的随机整数是包含边界值的。所以,上面的代码中,生成的随机整数可能包含1和100,也可能包含1和20。
总之,你可以使用 random.randint() 函数来随机生成指定范围内的整数。
#导入随机数模块
import random
#定义一个空的数组,用作取样表
reList = []
#为取样表赋值,1~100
for i in range(1,101):
reList.append(i)
#使用sample方法,取3个随机数
res = random.sample(reList,k=3)
print("三个随机数是:{}".format(res))