随机数模块
Python中,有一个叫做random的内置模块,可以很方便的为我们生成各式的随机数据
随机整数
- random.randrange( stop )
返回从0-stop区间内的随机整数
1 2 | 20) random.randrange(7 |
- random.randrange( start, stop, step )
返回从start-stop区间内,并且步长为step的一个整数,类似range函数
1 2 3 4 5 6 7 8 | 0,10,3) random.randrange(3 0,10,3) random.randrange(6 0,10,3) random.randrange(6 0,10,3) random.randrange(9 |
- random.randint(start, stop)
返回start-stop区间内的一个整数
1 2 3 4 5 6 | 10,20) random.randint(19 10,20) random.randint(19 10,20) random.randint(10 |
- random.getrandbits(num)
传入一个num值,返回一个从0到2的num次方(2 ** num)区间内的一个整数
1 2 3 4 5 6 | 3)#(2**3) random.getrandbits(5 3) random.getrandbits(2 3) random.getrandbits(1 |
随机浮点数
- random.random()
返回介于0到1之间的浮点数
1 2 3 4 | random.random()0.018594388691108188 random.random()0.7626285486964196 |
- random.uniform(start, stop)
返回介于start-stop之间的浮点数,start和stop的值也可能出现
1 2 3 4 5 6 | 1,3) random.uniform(1.5281489461709883 1,3) random.uniform(1.0881355542393485 1,3) random.uniform(1.4888568616457178 |
随机序列
- random.choice(seq)
从非空序列seq中随机选取一个元素,如果为空序列,则引发IndexError
1 2 3 4 | 1,2,3,4,5]) random.choice([3 1,2,3,4,5]) random.choice([2 |
- random.shuffle(seq)
将可变序列随机打乱
1 2 3 4 | 1,2,3,4,5] mylist = [ random.shuffle(mylist) mylist[5, 4, 1, 3, 2] |
- random.sample(seq,num)
从数据集中重新抽取num个元素形成新的序列(不重复随机抽样),不会修改原有数据集
num值不可大于数据集最大长度
1 2 3 4 5 6 | 3) random.sample(mylist,[3, 4, 1] 3) random.sample(mylist,[5, 4, 1] 3) random.sample(mylist,[5, 2, 4] |