python中random模块功能详解(python工程狮)

2020-04-23 13:54:25 浏览数 (2)

random — 生成伪随机数,random模块为各种分布实现伪随机数的生成。

1.random.random()

用于生成一个0到1的随机浮点数:0<= num < 1.0

代码语言:javascript复制
import random
num = random.random()
print(num)
#输出:0.35760686747009107

通过字符串格式化方法,控制随机生成的小数位数

import random
num = random.random()
print('%.2f' % (num))
#输出:0.63
2.random.uniform(a,b)

用于生成一个指定范围内的随机浮点数,a, b两个参数其中一个是上限,一个是下限。如果a > b,则生成的随机数num: b <= num <= a。如果 a <b, 则 a <= num <= b.

代码语言:javascript复制
import random
num = random.uniform(2,4)
print(num)
#输出:3.9158589436620628
print('%.2f' % (num))              #同上,根据需要我们可以设置小数点位数
#输出:3.92
3.random.randint(a, b)

用于生成一个指定范围内的整数。其中参数a是下限,参数b是上限,生成的随机数num: a <= num <= b

代码语言:javascript复制
import random
num = random.randint(2,6)
print(num)
#输出:6
4.random.randrange(start, stop , step)

从指定范围内,从指定起始值递增的集合中获取一个随机数,其中start为开始的范围,stop为结束,step为步长。

代码语言:javascript复制
import random
num = random.randrange(2, 10 , 2)    #这里的相当于从[2 , 4 , 6 , 8 ]的列表中随机取出一个值
print(num)
#输出:6
5.random.choice(seq)
  • 从序列中获取一个随机元素。其函数语句结构为:random.choice(sequence)
  • 参数sequence表示一个有序类型。必须说明的是:sequence在python中不是一种特定的类型,而是泛指一系列的类型,列表(list), 元组(tuple), 字符串都属于有序类型
代码语言:javascript复制
随机选择一个字符串中的元素
import random
seq = random.choice('hellogongchengshi')
print(seq)
#输出:c

随机选择一个列表中的元素
import random
lis = [5, 8 , 6 , 4 ,1]
seq = random.choice(lis)
print(seq)
#输出:8
6.random.shuffle()

random的这个方法用于将一个列表中元素随机打乱

代码语言:javascript复制
import random
lis = [5, 8 , 6 , 4 ,1]
random.shuffle(lis)
print(lis)
#输出:[1, 8, 5, 6, 4]
7.random.sample(seq, k)

从指定序列中随机获取指定长度的片断并随机排列。注意:sample函数不会修改原有序列

代码语言:javascript复制
import random
lis = [5, 8 , 6 , 4 ,1]
seq = random.sample(lis, 3)
print(seq)
#输出:[4, 1, 5]
print(lis)
#输出:[5, 8, 6, 4, 1]

0 人点赞