python之random库的使用

204 阅读3分钟

一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第1天,点击查看活动详情

一、random模块的介绍

random库是用于生成随机数的标准库。可以生成随机浮点数、整数、字符串以及随机选择列表中一个元素,打乱列表中的数据顺序等

二、random模块中的常用函数

1.random()

random.random()生成一个随机的0到1之间的浮点数n :0<=n<1 random.random()这个函数在random这个模块中是最常用的一个函数。

eg:

import  random
# r = random.random()
# print(r)

此时打印的 r 为0.3572012796826628,r为【0,1)之间的任务浮点数,多运行几次,每次结果都不一样

2.randint()

random.randint(a,b)生成一个指定范围内的整数n :a<=n<=b。次函数在平常使用中的频率也很高。参数a为下限,参数b为上限,参数a和b都必须为整数且a必须小于等于b

eg:

import  random
n = random.randint(2,5)
print(n)

此时打印n为2,n为【2,5】之间的任意整数,多运行几次,每次结果都不一样

3.choice(seq)

random.choice(seq)从序列中获取一个随机元素。参数seq表示一个有序的类型,seq在python中不是一个特定的类型,是泛指一系列的类型,比如列表,元组,字符串等都属于seq。

eg:

list1 = [1,3,4,6,23,4,2,4]
n = random.choice(list1)
m =random.choice('你好,好好学习啊')
print(n)
print(m)

此时打印的n为3,n可以是list1中的任意一个数字,m为好,m可以是“你好,好好学习啊”中的任意一个字,多运行几次,每次的结果都不一样

4.randrange()

random.randrange([start],stop[,step]),从指定范围内,按指定基数递增的集合中 获取一个随机数 参数start为随机数开始的值,可以等于start,参数stop为随机数结束的值,不能等于stop,参数step为步长,从开始值到结束值,每隔step步长取值。

eg:

import  random
n = random.randrange(2,10,3)
print(n)

此时打印n为8,n可以为2,5,8中的任意数,从2(start)开始,增加3(step)或者3(step)的倍数,最大不能超过10(stop),多运行几次,每次的结果都不一样

5.shuffle()

random.shuffle(list)将一个序列中的元素随机打乱,注意:打乱的还是之前的列表,参数为一个列表 eg:

import  random
list1 = [1,3,4,6,23,4,2,4]
random.shuffle(list1)
print(list1)

此时打印的结果为[23, 6, 4, 4, 1, 3, 4, 2],还是list1的列表,列表没有变,只是顺序随机打乱了,多运行几次,每次的结果都不一样

6.sample()

random.sample(seq,k)从序列中随机获取制定长度的片段,不会修改原来的序列,是生成新的序列;从seq序列中随机获取k个元素,作为一个片断返回

eg:

import  random
list1 = [1,3,4,6,23,4,2,4]
n = random.sample(list1,4)

print(n)
print(list1)

此时打印n为[2, 1, 4, 4],list1为[1, 3, 4, 6, 23, 4, 2, 4] ,从list1列表中随机选择4个元素,返回一个新的列表,多运行几次,每次的结果都不一样