【Python 3.6.1】随机数-random模块
1、随机整数(返回>=下限、<=上限的随机整数,且下限不能大于上限)
1 2 3 4 5 6 7 8 |
## random 为python标准库,无需pip安装 >>> import random >>> random.randint(0,100) 58 >>> >>> random.randint(1,1) 1 >>> |
2、生成0~1的浮点数
1 2 3 4 |
>>> import random >>> random.random() 0.261789221963998 >>> |
3、生成两个数之间的随机数,可以是正数也可以是负数,当然,两个数字并没有前后顺序
1 2 3 4 5 6 7 8 9 10 11 12 |
>>> random.uniform(1,10) 7.467469004941307 >>> >>> random.uniform(-10,100) 57.889619405893825 >>> >>> random.uniform(100,100) 100.0 >>> >>> random.uniform(1000,100) 643.8948794110626 >>> |
4、指定范围内,指定步长的列表中随机返回一个值
1 2 3 4 5 6 7 8 |
# 返回1~10之内的随机奇数 >>> random.randrange(1,10,2) 5 >>> # 返回1~10之内的随机偶数 >>> random.randrange(2,10,2) 4 >>> |
解读一下上述random.randrange(1,10,2)含义,其中1为起始值;10为结束值,2为步长,也就是说在[1,3,5,7,9]这个列表中随机返回一个值
5、列表中随机返回一个元素
1 2 3 4 5 6 |
>>> L = [1,2,3,'a','b','c'] >>> random.choice(L) 2 >>> random.choice(L) a >>> |
6、随机打乱列表元素
1 2 3 4 5 6 7 |
>>> L = [1,2,3,4,5,6,7,8,9] >>> print (L) [1, 2, 3, 4, 5, 6, 7, 8, 9] >>> random.shuffle(L) >>> print (L) [6, 1, 2, 4, 5, 3, 7, 9, 8] >>> |
7、列表,随机采样指定元素个数,且顺序打乱
1 2 3 4 5 6 7 |
>>> L = [1,2,3,4,5,6,7,8,9] >>> print (L) [1, 2, 3, 4, 5, 6, 7, 8, 9] >>> sam = random.sample(L,5) >>> print (sam) [9, 8, 5, 1, 6] >>> |