Toccata in Nowhere.

Python random 各种随机数

2020.10.23

随机数很常见,但到底哪边是开区间,哪边是闭区间谁记得住呀(笑)

模块引入

import random

函数介绍

random.random()

随机生成一个$[0,1)$区间的浮点数

random.uniform(a,b)

在$[a,b]$区间内随机生成浮点数。其中 $a>b$ 和 $a<b$ 都可以随机生成两数区间内的浮点数。

需要注意的是区间的范围,闭区间和开区间的概念在浮点数与整数的区别。

random.randint(a,b)

在$[a,b]$区间内随机生成整数,并只允许$a<b$。

random.randrange(a,b,step)

在$[a,b)$ 区间内的以 $\text{step}$ 为步长的序列中随机选择一个数。

或可等同于:random.choice(range(a,b,step)),后者等同于在序列里随机抽取数值。

random.choice(s)

从序列 $s$ 中随机抽取元素。

random.shuffle(s)

将序列 $s$ 随机打乱。

random.sample(s, k)

从序列 $s$ 中随机获取长度为 $k$ 的片段(注意不是子序列),可视为采样。

致谢

本文致谢细心的 Song 老师及 Clockworkai 同学。

Reference

python–随机函数(random,uniform,randint,randrange,shuffle,sample)