python中的随机函数random的用法示例


Posted in Python onJanuary 27, 2018

一、random模块简介

Python标准库中的random函数,可以生成随机浮点数、整数、字符串,甚至帮助你随机选择列表序列中的一个元素,打乱一组数据等。

二、random模块重要函数

1 )、random() 返回0<=n<1之间的随机实数n;

2 )、choice(seq) 从序列seq中返回随机的元素;

import random
a = random.choice([1, 2, 3, 4])
print(a)

3 )、getrandbits(n) 以长整型形式返回n个随机位;

4 )、shuffle(seq[, random]) 原地指定seq序列;

5 )、sample(seq, n) 从序列seq中选择n个随机且独立的元素;

三、random模块方法说明

  1. random.random()函数是这个模块中最常用的方法了,它会生成一个随机的浮点数,范围是在0.0~1.0之间。
  2. random.uniform()正好弥补了上面函数的不足,它可以设定浮点数的范围,一个是上限,一个是下限。
  3. random.randint()随机生一个整数int类型,可以指定这个整数的范围,同样有上限和下限值,python random.randint。
  4. random.choice()可以从任何序列,比如list列表中,选取一个随机的元素返回,可以用于字符串、列表、元组等。
  5. random.shuffle()如果你想将一个序列中的元素,随机打乱的话可以用这个函数方法。
  6. random.sample()可以从指定的序列中,随机的截取指定长度的片断,不作原地修改。

四、需要导入random模块

1、random.random

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

>>> random.random()  # Random float x,

2、random.uniform

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

>>> random.uniform(1, 10) # Random float x,

3、random.randint

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

>>> random.randint(10, 100)

4、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) 等效。

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

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

5、random.choice

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

>>> random.choice('abcdefg&#%^*f') #随机字符 
'd'

>>> random.choice ( ['apple', 'pear', 'peach', 'orange', 'lemon'] ) #随机选取字符串: 
'lemon'

6、random.shuffle

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

p = ["Python", "is", "powerful", "simple", "and so on..."] 
random.shuffle(p) 
print p 
#结果(因为随机,所以你的结果可能不一样。) 
#['powerful', 'simple', 'is', 'Python', 'and so on...'] 
p = ["Python", "is", "powerful", "simple", "and so on..."]

7、random.sample

random.sample的函数原型为:random.sample(sequence, k),从指定序列中随机获取指定长度的片断。sample函数不会修改原有序列。 如果k大于sequence元素个数的话会报错。 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python 序列的方法总结
Oct 18 Python
Python中第三方库Requests库的高级用法详解
Mar 12 Python
关于python的list相关知识(推荐)
Aug 30 Python
python中利用h5py模块读取h5文件中的主键方法
Jun 05 Python
python中PS 图像调整算法原理之亮度调整
Jun 28 Python
DataFrame.to_excel多次写入不同Sheet的实例
Dec 02 Python
Python3将jpg转为pdf文件的方法示例
Dec 13 Python
python序列化与数据持久化实例详解
Dec 20 Python
python实现移动木板小游戏
Oct 09 Python
Pycharm中使用git进行合作开发的教程详解
Nov 17 Python
python中判断数字是否为质数的实例讲解
Dec 06 Python
Pyhton爬虫知识之正则表达式详解
Apr 01 Python
Python闭包之返回函数的函数用法示例
Jan 27 #Python
详解如何利用Cython为Python代码加速
Jan 27 #Python
详解Python 实现元胞自动机中的生命游戏(Game of life)
Jan 27 #Python
Python实现的栈(Stack)
Jan 26 #Python
使用python实现链表操作
Jan 26 #Python
Python中optparser库用法实例详解
Jan 26 #Python
python利用socketserver实现并发套接字功能
Jan 26 #Python
You might like
上海永华YH-R296(华普R-96)12波段立体声收音机的分析和打理
2021/03/02 无线电
一个简易需要注册的留言版程序
2006/10/09 PHP
PHP中的生成XML文件的4种方法分享
2012/10/06 PHP
php curl登陆qq后获取用户信息时证书错误
2015/02/03 PHP
分享PHP函数实现数字与文字分页代码
2015/07/28 PHP
JavaScript动态操作表格实例(添加,删除行,列及单元格)
2013/11/25 Javascript
jQuery中:nth-child选择器用法实例
2014/12/31 Javascript
js实现从数组里随机获取元素
2015/01/12 Javascript
JS实现表单中checkbox对勾选中增加边框显示效果
2015/08/21 Javascript
带有定位当前位置的百度地图前端web api实例代码
2016/06/21 Javascript
基于jstree使用AJAX请求获取数据形成树
2017/08/29 Javascript
node.js中使用Export和Import的方法
2017/09/18 Javascript
JQuery Ajax动态加载Table数据的实例讲解
2018/08/09 jQuery
Vue表单绑定的实例代码(单选按钮,选择框(单选时,多选时,用 v-for 渲染的动态选项)
2019/05/13 Javascript
微信小程序订阅消息(java后端实现)开发
2020/06/01 Javascript
[47:53]DOTA2上海特级锦标赛主赛事日 - 1 败者组第一轮#2COL VS Spirit
2016/03/02 DOTA
[02:32]【DOTA2亚洲邀请赛】iceice,梦开始的地方
2017/03/13 DOTA
[01:54]TI珍贵瞬间系列(五):压力
2020/08/29 DOTA
[01:03:09]完美世界DOTA2联赛PWL S2 Forest vs SZ 第二场 11.25
2020/11/26 DOTA
Python利用IPython提高开发效率
2016/08/10 Python
Python中的左斜杠、右斜杠(正斜杠和反斜杠)
2016/08/30 Python
Django Web开发中django-debug-toolbar的配置以及使用
2018/05/06 Python
python读取几个G的csv文件方法
2019/01/07 Python
python使用wxpy轻松实现微信防撤回的方法
2019/02/21 Python
Django 静态文件配置过程详解
2019/07/23 Python
Python中list的交、并、差集获取方法示例
2019/08/01 Python
python3.6、opencv安装环境搭建过程(图文教程)
2019/11/05 Python
Python unittest框架操作实例解析
2020/04/13 Python
Django中的AutoField字段使用
2020/05/18 Python
浅谈keras通过model.fit_generator训练模型(节省内存)
2020/06/17 Python
ffmpeg+Python实现B站MP4格式音频与视频的合并示例代码
2020/10/21 Python
Python 2.6.6升级到Python2.7.15的详细步骤
2020/12/14 Python
工商局局长个人对照检查材料思想汇报
2014/09/23 职场文书
党校个人总结
2015/03/04 职场文书
2015年学校安全管理工作总结
2015/05/11 职场文书
MySQL 开窗函数
2022/02/15 MySQL