Python3 Random模块常用函数总结

参考链接:https://blog.csdn.net/xiaocaiju/article/details/6973175

Python中的random模块用于生成随机数。下面介绍一下random模块中最常用的几个函数。

1.random.randint

random.randint()的函数原型为:random.randint(a, b),用于生成一个指定范围内的整数。其中参数a是下限,参数b是上限,生成的随机数n: a <= n <= b

2.random.randrange

 random.randrange的函数原型为:random.randrange([start], stop[, step]),从指定范围内,按指定基数递增的集合中获取一个随机数。如:random.randrange(10, 100, 2),结果相当于从[10, 12, 14, 16, … 96, 98]序列中获取一个随机数。random.randrange(10, 100, 2)在结果上与 random.choice(range(10, 100, 2) )等效。

3.random.random

random.random()用于生成一个0到1的随机浮点数: 0 <= n < 1.0

4.random.uniform

random.uniform的函数原型为: random.uniform(a, b),用于生成一个指定范围内的随机浮点数,两个参数其中一个是上限,一个是下限。如果a < b,则生成的随机数n: a <= n <= b。如果 a > b, 则 b <= n <= a。

5.random.choice

random.choice从序列中获取一个随机元素。其函数原型为:random.choice(sequence)。参数sequence表示一个有序类型。这里要说明 一下:sequence在python不是一种特定的类型,而是泛指一系列的类型。list, tuple, 字符串都属于sequence。

6.random.shuffle

random.shuffle的函数原型为:random.shuffle(x[, random]),用于将一个列表中的元素打乱

7.random.sample

random.sample的函数原型为:random.sample(sequence, k),从指定序列中随机获取指定长度的片断, sample函数不会修改原有序列。

上面这些方法是random模块中最常用的,在Python手册中,还介绍其他的方法。感兴趣的朋友可以通过查询Python手册了解更详细的信息。


代码实现:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
import random

#生成[1,10]的随机整数
print(random.randint(1,10))      #[a,b]

#生成[1,100]步长为2的随机数
print(random.randrange(1,100,2))     #[a,b,step]

#生成[0.0,1.0)的随机浮点数
print(random.random())          #[0,1)

#生成[1.0,12.0]的随机浮点数
print(random.uniform(1.0,12.0))    #[a,b]

lst = [1,2,3,4,5,6,7,8,9,10]

#从序列中随机选取一个元素
print(random.choice(lst))

#重新打乱一个列表
random.shuffle(lst)
print(lst)

#从序列中随机选取5个元素
print(random.sample(lst,5))

运行结果:

5
49
0.4109578465733287
7.539110018468436
9
[10, 6, 8, 2, 1, 9, 3, 4, 5, 7]
[6, 2, 3, 5, 1]