如是我闻 : Python的random
模块提供了生成随机数的广泛功能,是一个一定会用到,但是一段时间不用就容易忘记细节的模块,下面是对一些关键知识点的整理
随机整数
- random.randint(a, b):生成一个范围在[a, b]内的随机整数,包括两端的值。
import random
print(random.randint(1, 10)) # 输出:介于1和10之间的一个随机整数
- random.randrange(start, stop[, step]):从指定范围内、按指定基数递增的集合中获取一个随机数。不包括
stop
值。
import random
print(random.randrange(0, 101, 2)) # 输出:0到100之间的一个随机偶数
随机浮点数(小数)
- random.random():生成一个[0.0, 1.0)范围内的随机浮点数。例如,
random.random()
可能返回0.37444887175646646。
import random
print(random.random()) # 输出:0.0到1.0之间的一个随机浮点数
- random.uniform(a, b):生成一个范围在[a, b]内的随机浮点数,包括a和b。例如,
random.uniform(1.5, 2.5)
可以返回1.5到2.5之间的任意浮点数。
import random
print(random.uniform(1.5, 2.5)) # 输出:1.5到2.5之间的一个随机浮点数
其他常用功能
- random.choice(seq):从非空序列
seq
中返回一个随机元素。如果seq
为空,则会引发IndexError
。
import random
seq = [1, 2, 3, 4, 5]
print(random.choice(seq)) # 输出:序列seq中的一个随机元素
- random.shuffle(x[, random]):用于将一个列表中的元素打乱,即重新排列列表中的元素。
import random
x = [1, 2, 3, 4, 5]
random.shuffle(x)
print(x) # 输出:列表x的一个随机排列
- random.sample(population, k):从指定的序列中随机获取指定长度的片段,不会修改原序列。
import random
population = [1, 2, 3, 4, 5]
print(random.sample(population, 3)) # 输出:从population中随机选取的3个不同的元素组成的列表
种子设置
- random.seed(a=None, version=2):初始化随机数生成器的内部状态。种子可以是任何哈希able类型的对象。如果你在调用
random
函数之前设置相同的种子,那么产生的随机数序列将是可预测的。
import random
random.seed(10) # 设置种子
print(random.random()) # 输出:由种子10决定的一个随机数
就是使用这些函数时,别忘了先导入random
模块:
import random
非常的OK
以上