python之random模块
1、random简介
用于生成伪随机数。
2、随机生成整数
2.1、random.randrange(stop)
生成整数随机数,stop必须是正整数。
2.1.1、随机生成一个100以内的正整数
import random num = random.randrange(100) print(num)
2.1.2、随机生成10个0~9之间(包括0和9)的随机数列表。
import random
l = [random.randrange(10) for i in range(10)] print(l)
输出结果:
[8, 3, 5, 4, 6, 8, 9, 0, 7, 8]
2.2、random.randrange(start, stop[, step])
生成整数随机数,start必须是>=0的整数,stop、step必须是正整数(step可以不填,使用默认值)。
2.2.1、随机生成一个0~9之间,步进为2的数
import random num = random.randrange(0, 9, 2) print(num)
2.2.2、随机生成10个0~9之间,步进为2的数作为元素的列表
import random l = [random.randrange(0, 9, 2) for i in range(10)] print(l)
输出结果:
[4, 2, 2, 8, 8, 4, 2, 2, 8, 0]
2.3、random.randint(a, b)
生成整数随机数N,a <= N <= b 。
2.3.1、随机生成一个大于等于1且小于等于6的数
import random num = random.randint(1, 6) print(num)
输出结果:1
2.3.2、随机生成10个大于等于1且小于等于6的数,并组成列表
import random l = [random.randint(1,6) for i in range(10)] print(l)
输出结果:
[3, 5, 5, 4, 3, 1, 6, 3, 5, 2]
3、随机生成序列
3.1、random.choice(seq)
从非空序列seq中返回一个随机元素。如果seq是空的,则会报出IndexError错误。
import random l = ["a","b",3,4] print(random.choice(l)) print(random.choice(l))
输出结果:
b
3
3.2、random.sample(population, k)
从population抽出k个样本
import random s = random.sample([10, 20, 30, 40, 50], k=4) print(s)
输出结果:
[20, 10, 50, 30]
4、实值分布
4.1、random.random()
返回下一个在[0.0,1.0)之间的随机的浮点数。
import random num = random.random() print(num)
输出结果:
0.7460956960647801
4.2、random.uniform(a, b)
返回一个在a,b之间的浮点数。
import random num = random.uniform(1, 9) print(num)
输出结果:
5.212990842603879
更多实例请参考《The Python Library Reference, Release 3.6.5》中9.6.7 Examples and Recipes。