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']
下面举一些常见的例子:
随机整数: 代码如下:
>>> import random
>>> random.randint(0,99)
# 21 随机选取0到100间的偶数: 代码如下:
>>> import random
>>> random.randrange(0, 101, 2)
# 42 随机浮点数: 代码如下:
>>> import random
>>> random.random()
0.85415370477785668
>>> random.uniform(1, 10)
# 5.4221167969800881 随机字符: 代码如下:
>>> import random
>>> random.choice('abcdefg&#%^*f')
# 'd' 多个字符中选取特定数量的字符: 代码如下:
>>> import random
random.sample('abcdefghij', 3)
# ['a', 'd', 'b'] 多个字符中选取特定数量的字符组成新字符串: 代码如下:
>>> import random
>>>''.join( random.sample(['a','b','c','d','e','f','g','h','i','j'], 3) )
# 'fih' 随机选取字符串: 代码如下:
>>> import random
>>> random.choice ( ['apple', 'pear', 'peach', 'orange', 'lemon'] )
# 'lemon' 洗牌: 代码如下:
>>> import random
>>> items = [1, 2, 3, 4, 5, 6]
>>> random.shuffle(items)
>>> items
# [3, 2, 5, 6, 4, 1]
python--random库基本介绍的更多相关文章
- Python - random库介绍
- https学习笔记二----基础密码学知识和python pycrypto库的介绍使用
在更详细的学习HTTPS之前,我也觉得很有必要学习下HTTPS经常用到的加密编码技术的背景知识.密码学是对报文进行编解码的机制和技巧.可以用来加密数据,比如数据加密常用的AES/ECB/PKCS5Pa ...
- python random库
random模块 >>> import random #随机小数 >>> random.random() # 大于0且小于1之间的小数 0.766433866365 ...
- python Re库的介绍
re库的贪婪匹配和最小匹配 后面跟着?变为最小匹配
- Python - random 库的详细使用
前言 为啥突然写这个?因为用到就写呗,感觉对生成数据很有用,之前都是百度别人的,今天来对着官方文档写,超级标准! 这边只讲常用的,看了下文档还有什么数学方法,太高级好像用不上 返回整数 random. ...
- python标准库总的random函数用法
Python标准库中的random函数,可以生成随机浮点数.整数.字符串,甚至帮助你随机选择列表序列中的一个元素,打乱一组数据等.random中的一些重要函数的用法:1 ).random() 返回0& ...
- Python标准库:1. 介绍
标准库包括了几种不同类型的库. 首先是那些核心语言的数据类型库,比方数字和列表相关的库.在核心语言手冊里仅仅是描写叙述数字和列表的编写方式,以及它的排列,而未定义它的语义. 换一句话说,核心语言手冊仅 ...
- Python常用的库简单介绍一下
Python常用的库简单介绍一下fuzzywuzzy ,字符串模糊匹配. esmre ,正则表达式的加速器. colorama 主要用来给文本添加各种颜色,并且非常简单易用. Prettytable ...
- Python使用turtle库与random库绘制雪花
记录Python使用turtle库与random库绘制雪花,代码非常容易理解,画着玩玩还是可以的. 完整代码如下: 效果图如下:
- Python图像处理库:PIL中Image,ImageDraw等基本模块介绍
Python图像处理库:PIL中Image,ImageDraw等基本模块介绍 标签: 图像处理PILPYTHON 2016-08-19 10:58 461人阅读 评论(0) 收藏 举报 分类: 其他 ...
随机推荐
- mysq建表参数设置
建表的完整性约束: not null 与 default unique primary auto_increment foreign key 外键的变种 三种关系 一.介绍 约束条件与数据类型的宽度 ...
- python之路(6)迭代器和生成器
目录 迭代器(Iterator) 生成器(Generator) 迭代器 迭代器协议:对象提供一个next方法,执行该方法要么返回下一项,要么引起一个Stopiteration异常 可迭代对象:实现了 ...
- HDU 2717(* bfs)
题意是在一个数轴上,每次可以一步到达当前位置数值的 2 倍的位置或者数值 +1 或数值 -1 的位置,给定 n 和 k,问从数值为 n 的位置最少多少步可以到达数值为 k 的位置. 用广搜的方法,把已 ...
- .net aop 操作 切面应用 Castle.Windsor框架 spring 可根据接口 自动生成一个空的实现接口的类
通过unget 安装Castle.Windsor using Castle.DynamicProxy; using System; using System.Collections.Generic; ...
- iMX6Q开发板的EIM接口的配置可以与FPGA通讯-交换数据-最常用的接口配置
最近基于迅为的i.mx6Q开发板进行了一个FPGA项目的开发,下面给大家介绍一下EIM接口的配置,包括引脚的的选择和寄存器的配置 For the usage of WEIM on i.MX6, you ...
- SW:HTML DOM
1:节点:nodeType,nodeValue,nodeName getAttributeNode() 方法从当前元素中通过名称获取属性节点. 元素节点nodeValue是null,属性节点nodeV ...
- CentOS下RPM方式安装MySQL5.6(转载)
之前的项目全都在windows系统环境下部署的,这次尝试在Linux系统环境下部署,于是这次我们组织在7台主机上安装了JDK.Maven.Jboss其中一台安装了Mysql,并将局域网配置好,终于大功 ...
- Python 自动化测试框架 unittest 和 pytest 对比
一.用例编写规则 1.unittest提供了test cases.test suites.test fixtures.test runner相关的类,让测试更加明确.方便.可控.使用unittest编 ...
- vue.js学习系列-第二篇
一 VUE实例生命周期钩子 1 生命周期函数 定义 生命周期函数就是vue在某一时间点自动执行的函数 2 具体函数 1 new vue() 2 before ...
- m3u8下载转码一次完成
最近看到有部分网站开始加入视频解析服务,虽然这种服务会损害土豆优酷等视频托管商的权益,但是,烦人的广告也让我们开始寻找有没有什么比较靠谱的解决方法~实际上很多网站都在使用m3u8文件格式,里面都是视频 ...