20.random 库
AI-摘要
Tianli GPT
AI初始化中...
介绍自己 🙈
生成本文简介 👋
推荐相关文章 📖
前往主页 🏠
前往爱发电购买
20.random 库
Pupper一. 返回整数
1.1 random.randrange
1 | random.randrange(stop) |
start
: 起始数字, 包含(取得到 start 这个值)stop
: 末尾数字, 不包含(取不到 stop 这个值)step
: 步长
1 | for i in range(5): |
1.2 random.randint
1 | random.randint(a, b) |
- 返回随机整数 N 满足
a <= N <= b
, 相等于randrange(a, b+1)
- a、b 都可以取到
1 | for i in range(5): |
二. 返回浮点数
2.1 random.random()
1 | # 返回 [0.0, 1.0) 范围内的下一个随机浮点数 |
1 | for i in range(5): |
1 | for i in range(5): |
2.2 random.uniform(a, b)
- 返回一个随机浮点数 N
- 当
a <= b
时,a <= N <= b
- 当
b < a
时,b <= N <= a
1 | random.uniform(a, b) |
1 | # 栗子一 |
三. 传递列表作为参数
3.1 random.choice
- 从非空序列 seq 返回一个随机元素
- 如果 seq 为空, 会抛出 IndexError
1 | random.choice(seq) |
1 | # 数字数组 |
3.2 random.choices
1 | random.choices(population, weights=None, *, cum_weights=None, k=1) |
population
: 序列weights
: 普通权重cum_weights
: 累加权重k
: 选择次数weights
和cum_weights
不能同时传, 只能选择一个来传
3.2.1 不带参数
可重复获取元素
1 | a = [1,2,3,4,5] |
3.2.2 带 weight
- 序列有多长, weights 对应的序列就得多长, 每个位置都是一一对应
- 如: 3 的权重是 1, 其他是 0, 所以每次都取 3, 因为它的权重最高, 其他元素没有权重
1 | a = [1,2,3,4,5] |
- 2 的权重更大, 所以取到它的概率更高
1 | a = [1,2,3,4,5] |
3.2.3 带 cum_weights
1 | a = [1, 2, 3, 4, 5] |
cum_weights=[1,1,1,1,1]
- 等价于
weights=[1,0,0,0,0]
[1,1+0,1+0+0,1+0+0+0,1+0+0+0+0]
cum_weights=[1,4,4,4,4]
- 等价于
weights=[1,3,0,0,0]
[1,1+3,1+3+0,1+3+0+0,1+3+0+0+0]
3.3 random.shuffle
- 将序列 x 随机打乱位置
- 只能是列表[], 元组和字符串会报错
1 | random.shuffle(x[, random]) |
1 | # 数字数组 |
3.4 random.sample
- 从 population 中取 k 个元素, 组成新的列表并返回
- 每次取元素都是不重复的, 所以 population 的长度必须 ≥ k, 否则会报错
1 | random.sample(population, k) |
1 | # 数字数组 |
评论
匿名评论隐私政策
✅ 你无需删除空行,直接评论以获取最佳展示效果