random模块用来生成随机数,只是这些随机也只是伪随机,如果需要真的随机性应该使用os模块中的urandom,但是就一般的使用random已经足够,具体的函数如下:
1.random.seed([x]):伪随机数生成模块。如果不提供 seed,默认使用系统时间。使用相同的 seed,可以获得完全相同的随机数序列,常用于算法改进测试。
>>> random.seed(1)>>> random.random()0.13436424411240122>>> random.seed(1)>>> random.random()0.13436424411240122
2.random.getstat():返回获取当前内部生成器的状态
3.random.setstat():用来还原生成器状态到getstat的状态
4.random.jumpahead(n):修改状态
5.random.getrandbits(k):返回一个K位的python长整型
>>> random.getrandbits(10)757L>>> random.getrandbits(10)763L
6.random.randrange([start],stop,[step]):返回一个range(start,stop,step)中的随机数,例如返回0,9中的随机偶数:
>>> random.randrange(0,10,2)0>>> random.randrange(0,10,2)6
7.random.randint(a,b):返回一个随机整数N的值在a,b之间
>>> random.randint(1,5)2>>> random.randint(1,5)3
8.random.choice(seq):返回序列(列表元组字符串)中的一个随机元素,如果序列为空则会返回一个异常IndexError
>>> a=['a','b','c','d']>>> random.choice(a)'c'>>> a=[]>>> random.choice(a)Traceback (most recent call last):File "<stdin>", line 1, in <module>File "D:\Program Files\python27\lib\random.py", line 275, in choicereturn seq[int(self.random() * len(seq))] # raises IndexError if seq is emptyIndexError: list index out of range
9.random.shuffle(x[,random]):原地指定序列seq,将序列x中的元素进行随机位移,这个只支持列表,因为只有列表的元素是可变的
>>> a=[1,2,3,4,5,6]>>> random.shuffle(a)>>> a[3, 4, 6, 2, 5, 1]
10.random.sample(seq,n):从序列seq中选择N个随机且独立的元素
>>> a=[1,1,1,2,3]>>> random.sample(a,3)[1, 2, 1]>>> random.sample(a,3)[3, 1, 2]
11.random.random():返回一个0.0到1.0中间的随机的浮点数
>>> random.random()0.1879052007979286>>> random.random()0.8952514570878849
12.random.uniform(a,b):返回ab直接的随机浮点数
>>> random.uniform(8,5)7.181764370668931>>> random.uniform(1,5)2.5789568708042805
本文详细介绍了Python中random模块的功能及用法,包括如何生成不同类型的随机数、选择随机元素等,并提供了丰富的示例代码。

1万+

被折叠的 条评论
为什么被折叠?



