Python中的random模块用于生成随机数。
序号 | 函数 | 描述 | 备注 |
---|---|---|---|
1 | random.random() | 生成一个0到1的随机浮点数 | |
2 | random.uniform(a,b) | 生成一个指定范围(a,b)内的随机浮点数 | |
3 | random.randint(a, b) | 生成一个指定范围[a,b]内的整数 | |
4 | random.randrange(start, stop, step) | 从指定范围内,按指定基数递增的集合中 获取一个随机数 | 如:random.randrange(10, 100, 2),结果相当于从[10, 12, 14, 16, … 96, 98]序列中获取一个随机数。 |
5 | random.choice(sequence) | 从序列中获取一个随机元素 | sequence在python不是一种特定的类型,而是泛指一系列的类型。list, tuple, 字符串都属于sequence |
6 | random.shuffle() | 用于将一个列表中的元素打乱 | 返回值是None |
7 | random.sample(sequence, k) | 从指定序列中随机获取指定长度的片断 | sample函数不会修改原有序列。 |
实例
- 生成0-1之间的随机浮点数
import random
print("生成0-1之间的随机数:",random.random())
生成0-1之间的随机数: 0.8319786901712933
- 生成指定范围的随机浮点数
import random
print("生成10-11之间的随机数:",random.uniform(10,11))
生成10-11之间的随机数: 10.228848890127637
- 任意范围内的整数
import random
print("生成10-20之间的随机整数:",random.randint(10,20))
生成10-20之间的随机整数: 12
- 递增集合随机数
import random
print("生成10-100之间偶数随机数:",random.randrange(10,100,2))
生成10-100之间偶数随机数: 46
- 序列中获取一个随机元素
import random
a = [1,2,3,4,'lll','qqq']
b = "我爱中华人名共和国 I love China"
c = ("list","str",tuple)
print("随机获取序列中的一个元素:",random.choice(a))
print("随机获取序列中的一个元素:",random.choice(b))
print("随机获取序列中的一个元素:",random.choice(c))
随机获取序列中的一个元素: 4
随机获取序列中的一个元素: 人
随机获取序列中的一个元素: <class ‘tuple’>
- 打乱一个列表中的元素
import random
a = [1,2,3,4,'lll','qqq']
random.shuffle(a)
print("将列表打乱后结果:",a)
将列表打乱后结果: [1, ‘lll’, 4, 3, 2, ‘qqq’]
- 从指定序列中随机获取指定长度的片断
import random
a = [1,2,3,4,'lll','qqq',"fgh"]
#从list中随机获取2个元素,作为一个片断返回,原有序列并没有改变。
slice = random.sample(a,2)
print("新序列:%s,\n原序列:%s"%(slice,a))
新序列:[1, 4],
原序列:[1, 2, 3, 4, ‘lll’, ‘qqq’, ‘fgh’]