Random模块
random模块常用函数
| 函数名 |
功能 |
| random.random() |
生成一个[0,1)的实数。 |
| random.randint(a,b) |
生成一个[a,b]的数字,包含a和b。 |
| random.randrange(a,b) |
生成一个[a,b)的数字,包含a,不包含b。 |
| random.shuffle(x) |
把序列x打乱。 |
| random.choice(x) |
从x中返回一个随机项,x需要是一个可变序列。 |
| random.uniform(a,b) |
生成一个a,b之间的浮点数,区间可以是浮点数。 |
生成一个0-1的随机浮点数
1 2 3 4
| import random import numpy as np
random.random()
|
0.8204615832898717
生成一个[a,b]之间的数字,包含a和b
-3
生成一个[a,b]的数字,包含a不包含b
4
将一个序列进行重新排序,打乱序列
1 2 3
| a = list("ABCDE") random.shuffle(a) a
|
['E', 'D', 'A', 'B', 'C']
返回一个序列中的一个随机元素
语法:random.choice(seq)
从非空序列中随机选取一个数据并返回
- seq:可以是list、tuple、str、set。
1 2 3
| random.choice([-3, 3, 5])
random.choice([str(i).rjust(3,"0") for i in range(1000)])
|
3
'265'
返回一个序列中的多个元素
语法:random.choices(seq,weights=None,*,cum_weights=None,k=1)
- seq:集群。
- weights:相对权重
- cum_weights:累加权重。
- k:选取次数。
作用:从集群中随机选取k次数据,返回一个列表,可以设置权重。
注意:每次选取都不会影响原序列,每一次选取都是基于原序列。
1 2 3
| a = [i for i in range(100,150,10)] a random.choices(a,k=5)
|
[100, 110, 120, 130, 140]
[120, 100, 100, 110, 100]
1 2 3 4 5 6 7 8 9 10
|
random.choices(a,weights=[1,2,3,0,2],k=10)
|
[140, 140, 120, 120, 110, 140, 110, 120, 120, 110]
1 2 3 4
|
random.choices(a,cum_weights=[1,3,6,10,11],k=5)
|
[110, 130, 120, 110, 130]
用于生成指定范围内的随机浮点数
1
| round(random.uniform(-3, 6), 2)
|
-1.69