Python中的random模块

Python中的random模块提供了大量用于生成随机数字的功能。下面是一些最常用方法。

random()方法:

这个方法返回0.0到1.0之间的一个随机浮点数,其中1.0是不包括的。

import random

print("随机数:", random.random())

randrange() 和 randint() 方法:

random库中的randrange()函数和randint()函数可以生成一个指定范围内的整数。

randrange()方法在指定范围内返回一个随机数,跟range()方法一样,你可以提供开始,结束,步进值。

import random

print("随机数:", random.randrange(1, 9))  # 实例化一个在1到8之间的随机数

randint()方法在指定范围内返回一个随机整数,包括两端值。

import random

print("随机数:",  random.randint(20,30))  # 生成一个20到30之间的随机整数

choice()和samples()方法:

choice()方法可以从任何非空的序列(例如列表,元组等)返回一个随机项目。

import random

print("随机项目:", random.choice('hello, world'))  # 在'hello, world'中随机选一个字符

samples()方法用于从指定序列中选择多个唯一随机项。

import random

print("随机项目", random.sample([1, 2, 3, 4, 5], 3))  # 在1,2,3,4,5中随机选3个数

random.uniform(a, b): 

这个方法将随机生成一个指定范围内的浮点数,它在a和b之间(包含b)

import random
print("随机浮点数:", random.uniform(10, 20))  #生成一个10到20之间的随机浮点数

random.shuffle(x): 

这个方法可以用来将一个列表中的元素打乱

import random
list = [1, 2, 3, 4, 5]
random.shuffle(list)
print("打乱后的列表:", list)  #打乱列表中的元素

random.gauss(mu, sigma): 

这个方法根据均值mu和标准差sigma,用于生成符合高斯分布的随机数

import random
print("高斯随机数:", random.gauss(0, 1))  #生成一个均值为0,标准差为1的高斯随机数

注意,random模块产生的随机数由一个固定的启动种子和一个大整数相乘产生的,因此如果利用random的话,多次调用会生成相同的随机数序列,尤其是在多线程下这种情况尤其明显。

随机种子的例子:

import random
random.seed(0)    # 设置固定的随机种子

print(random.randint(1, 10))   # 生成的随机数是7
print(random.randint(1, 10))   # 生成的随机数是7
print(random.randint(1, 10))   # 生成的随机数是7

random.seed(0)    # 重新设定随机种子

print(random.randint(1, 10))   # 生成的随机数还是7

从以上的例子中,你可以看出,如果我们设置一个固定的种子值,那么我们每次运行代码时,都会得到同样的“随机”结果。这个特性在Debug或者是为机器学习模型设定随机状态时非常有用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LXSHYZHX

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值