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中shutil模块的常用文件操作函数用法示例
Jul 05 Python
Python爬虫爬取新浪微博内容示例【基于代理IP】
Aug 03 Python
dataframe 按条件替换某一列中的值方法
Jan 29 Python
Python基本数据结构与用法详解【列表、元组、集合、字典】
Mar 23 Python
Python OpenCV实现视频分帧
Jun 01 Python
Python绘图Matplotlib之坐标轴及刻度总结
Jun 28 Python
简单了解python协程的相关知识
Aug 31 Python
python3中rank函数的用法
Nov 27 Python
解决jupyter notebook 前面书写后面内容消失的问题
Apr 13 Python
django admin管理工具自定义时间区间筛选器DateRangeFilter介绍
May 19 Python
详解python tcp编程
Aug 24 Python
十个Python自动化常用操作,即拿即用
May 10 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
php字符串截取问题
2006/11/28 PHP
PHPMailer邮件发送的实现代码
2013/05/04 PHP
Yii框架函数简单用法分析
2019/09/09 PHP
【消息提示组件】,兼容IE6/7&amp;&amp;FF2
2007/09/04 Javascript
javascript判断ie浏览器6/7版本加载不同样式表的实现代码
2011/12/26 Javascript
原生js实现日期联动
2015/01/12 Javascript
JavaScript+CSS无限极分类效果完整实现方法
2015/12/22 Javascript
浅谈js键盘事件全面控制
2016/12/01 Javascript
TypeScript入门-基本数据类型
2017/03/28 Javascript
js+html5实现侧滑页面效果
2017/07/15 Javascript
jquery对table做排序操作的实例演示
2017/08/10 jQuery
vue按需加载组件webpack require.ensure的方法
2017/12/13 Javascript
RequireJS用法简单示例
2018/08/20 Javascript
puppeteer实现html截图的示例代码
2019/01/10 Javascript
vue路由切换之淡入淡出的简单实现
2019/10/31 Javascript
国内常用的js类库大全(CDN公共库)
2020/06/24 Javascript
跟老齐学Python之做一个小游戏
2014/09/28 Python
Python中文竖排显示的方法
2015/07/28 Python
Python实现破解12306图片验证码的方法分析
2017/12/29 Python
Python 操作 ElasticSearch的完整代码
2019/08/04 Python
Python实现数值积分方式
2019/11/20 Python
python中的数组赋值与拷贝的区别详解
2019/11/26 Python
python连接打印机实现打印文档、图片、pdf文件等功能
2020/02/07 Python
Python基于pip实现离线打包过程详解
2020/05/15 Python
英国家电直销:Appliances Direct
2016/09/22 全球购物
ESDlife健康生活易:身体检查预订、搜寻及比较
2019/05/10 全球购物
雅诗兰黛加拿大官网:Estee Lauder加拿大
2019/07/31 全球购物
adidas瑞典官方网站:购买阿迪达斯鞋子和运动服
2019/12/11 全球购物
什么是静态路由?什么是动态路由?各自的特点是什么?
2015/09/16 面试题
数据管理员的自我评价分享
2013/11/15 职场文书
办公室主任主任岗位责任制
2014/02/11 职场文书
助理政工师申报材料
2014/06/03 职场文书
机关驾驶员违规检讨书
2014/09/13 职场文书
MySQL 表空间碎片的概念及相关问题解决
2021/05/07 MySQL
利用python实时刷新基金估值(摸鱼小工具)
2021/09/15 Python
golang连接MySQl使用sqlx库
2022/04/14 Golang