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中tell()方法的使用详解
May 24 Python
Python中asyncore异步模块的用法及实现httpclient的实例
Jun 28 Python
Python中字典和集合学习小结
Jul 07 Python
python去除文件中重复的行实例
Jun 29 Python
浅谈Python基础—判断和循环
Mar 22 Python
python实现弹窗祝福效果
Apr 07 Python
python 求1-100之间的奇数或者偶数之和的实例
Jun 11 Python
python 3.7.4 安装 opencv的教程
Oct 10 Python
django中间键重定向实例方法
Nov 10 Python
python将logging模块封装成单独模块并实现动态切换Level方式
May 12 Python
浅谈tensorflow中dataset.shuffle和dataset.batch dataset.repeat注意点
Jun 08 Python
python 解决pycharm运行py文件只有unittest选项的问题
Sep 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
建站常用13种PHP开源CMS比较
2009/08/23 PHP
在laravel中使用Symfony的Crawler组件分析HTML
2017/06/19 PHP
ThinkPHP5 的简单搭建和使用详解
2018/11/15 PHP
JS加ASP二级域名转向的代码
2007/05/17 Javascript
JavaScript 高效运行代码分析
2010/03/18 Javascript
jqeury eval将字符串转换json的方法
2011/01/20 Javascript
关于jQuery $.isNumeric vs. $.isNaN vs. isNaN
2013/04/15 Javascript
js实现文字跟随鼠标移动而移动的方法
2015/02/28 Javascript
jQuery中事件与动画的总结分享
2016/05/24 Javascript
值得分享的bootstrap table实例
2016/09/22 Javascript
JS封装的三级联动菜单(使用时只需要一行js代码)
2016/10/24 Javascript
基于JS实现的随机数字抽签实例
2016/12/08 Javascript
详解如何webpack使用DllPlugin
2018/09/30 Javascript
Angularjs实现数组随机排序的方法
2018/10/02 Javascript
JavaScript中十种一步拷贝数组的方法实例详解
2019/04/22 Javascript
vue-froala-wysiwyg 富文本编辑器功能
2019/09/19 Javascript
微信小程序通过websocket实时语音识别的实现代码
2020/08/19 Javascript
vue实现路由懒加载的3种方法示例
2020/09/01 Javascript
Python利用多进程将大量数据放入有限内存的教程
2015/04/01 Python
Python中转换角度为弧度的radians()方法
2015/05/18 Python
Jupyter安装nbextensions,启动提示没有nbextensions库
2020/04/23 Python
Redis使用watch完成秒杀抢购功能的代码
2018/05/07 Python
Python装饰器结合递归原理解析
2020/07/02 Python
CSS3制作圆形滚动进度条动画的示例
2020/11/05 HTML / CSS
英国和世界各地鲜花速递专家:Arena Flowers
2018/02/10 全球购物
班主任工作年限证明
2014/01/12 职场文书
向国旗敬礼学生寄语大全
2014/09/30 职场文书
护士个人年度总结范文
2015/02/13 职场文书
2015年安全月活动总结
2015/03/26 职场文书
2015年物流客服工作总结
2015/07/27 职场文书
母亲节主题班会
2015/08/14 职场文书
优秀党员主要事迹材料
2015/11/04 职场文书
2016年暑期教师培训心得体会
2016/01/09 职场文书
vue前端工程的搭建
2021/03/31 Vue.js
JavaScript数组reduce()方法的语法与实例解析
2021/07/07 Javascript
MySQL优化及索引解析
2022/03/17 MySQL