python标准库random中函数的作用_python--random库基本介绍

random库是使用随机数的Python标准库

python中用于生成伪随机数的函数库是random

因为是标准库,使用时候只需要import random

random库包含两类函数,常用的共9个

--基本随机函数: seed(), random()

--扩展随机函数:randint(), getrandbits(), uniform(), randrange(), choice(), shuffle(),sample()

基本随机数

基本随机函数

函数

描述

seed(a=None)

初始化给定的随机数种子,默认为当前系统时间

>>>random.seed(10) #产生种子10对应的序列

random()

生成一个[0.0,1.0)之间的随机小数

>>>random.random()

0.5714025946899135 #随机数产生与种子有关,如果种子是1哦,第一个数必定是这个

使用随机数种子的好处是可以复现有随机数的程序

扩展随机数函数

在random库中,最基本的是seed 和random 函数,但时功能比较单一,为此产生了6个扩展随机数函数

扩展随机数函数

函数

描述

randint(a,b)

生成一个[a,b]之间的整数

>>>random.randint(10,100)

randrange(m,n[,k])

生成一个[m,n)之间以k为步长的随机整数

>>>random.randrange(10,100,10)

getrandbits(k)

生成一个k比特长的随机整数

>>>random.getrandbits(16)

37885

uniform(a,b)

生成一个[a,b]之间的随机小数

>>>random.uniform(10,100)

16.848041210321334

choice(seq)

序列相关

从序列中随机选择一个元素

>>>random.choice([1, 2, 3, 4, 5, 6, 7, 8, 9])

8

shuffle(seq)

序列相关

将序列seq中元素随机排列,返回打乱后的序列

>>>s=[1, 2, 3, 4, 5, 6, 7, 8, 9]; random.shuffle(s); print(s)

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

sample()

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

代码如下:

print(random.sample('abcdefghijklmnopqrstuvwxyz', 3))

#打印结果['a', 'o', 'p']

下面举一些常见的例子:

随机整数:

代码如下:

>>> importrandom

>>> random.randint(0,99)

# 21

随机选取0到100间的偶数:

代码如下:

>>> importrandom

>>> random.randrange(0, 101, 2)

# 42

随机浮点数:

代码如下:

>>> importrandom

>>>random.random()

0.85415370477785668

>>> random.uniform(1, 10)

# 5.4221167969800881

随机字符:

代码如下:

>>> importrandom

>>> random.choice('abcdefg%^*f')

# 'd'

多个字符中选取特定数量的字符:

代码如下:

>>> importrandom

random.sample('abcdefghij', 3)

# ['a', 'd', 'b']

多个字符中选取特定数量的字符组成新字符串:

代码如下:

>>> importrandom>>>''.join( random.sample(['a','b','c','d','e','f','g','h','i','j'], 3) )# 'fih'

随机选取字符串:

代码如下:

>>> importrandom

>>> random.choice ( ['apple', 'pear', 'peach', 'orange', 'lemon'] )

# 'lemon'

洗牌:

代码如下:

>>> importrandom

>>> items = [1, 2, 3, 4, 5, 6]

>>>random.shuffle(items)

>>>items

# [3, 2, 5, 6, 4, 1]

参考文档: http://www.jb51.net/article/50066.htm

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值