Python random模块(获取随机数)常用方法和使用例子


Posted in Python onMay 13, 2014

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

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

print random.uniform(10, 20)
print random.uniform(20, 10)
# 18.7356606526
# 12.5798298022 

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

print random.randint(12, 20)  # 生成的随机数 n: 12 <= n <= 20
print random.randint(20, 20)  # 结果永远是20     
# print random.randint(20, 10)  # 该语句是错误的。下限必须小于上限

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) 等效

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

print random.choice("学习Python")
print random.choice(["JGood", "is", "a", "handsome", "boy"])
print random.choice(("Tuple", "List", "Dict")) 

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...'] 

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

list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
slice = random.sample(list, 5)  # 从list中随机获取5个元素,作为一个片断返回
print slice
print list  # 原有序列并没有改变

随机整数:

>>> 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
>>> import string
>>> string.join( random.sample(['a','b','c','d','e','f','g','h','i','j'], 3) ).replace(" ","")
# '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 相关文章推荐
详细介绍Ruby中的正则表达式
Apr 10 Python
在Python中使用SQLite的简单教程
Apr 29 Python
python实现外卖信息管理系统
Jan 11 Python
python实现冒泡排序算法的两种方法
Mar 10 Python
Python3中在Anaconda环境下安装basemap包
Oct 21 Python
django中的数据库迁移的实现
Mar 16 Python
Python GUI编程学习笔记之tkinter控件的介绍及基本使用方法详解
Mar 30 Python
jupyter notebook 的工作空间设置操作
Apr 20 Python
python中查看.db文件中表格的名字及表格中的字段操作
Jul 07 Python
使用AJAX和Django获取数据的方法实例
Oct 25 Python
python调用jenkinsAPI构建jenkins,并传递参数的示例
Dec 09 Python
Python实现聚类K-means算法详解
Jul 15 Python
Python自动化测试工具Splinter简介和使用实例
May 13 #Python
Python获取远程文件大小的函数代码分享
May 13 #Python
Python FTP操作类代码分享
May 13 #Python
python生成指定尺寸缩略图的示例
May 07 #Python
python读取浮点数和读取文本文件示例
May 06 #Python
python创建线程示例
May 06 #Python
Python Web服务器Tornado使用小结
May 06 #Python
You might like
星际玩家的三大定律
2020/03/04 星际争霸
php学习笔记 PHP面向对象的程序设计
2011/06/13 PHP
php实现上传图片生成缩略图示例
2014/04/13 PHP
Java和PHP在Web开发方面对比分析
2015/03/01 PHP
php获取网站百度快照日期的方法
2015/07/29 PHP
PHP mysqli_free_result()与mysqli_fetch_array()函数详解
2016/09/21 PHP
YII2框架中excel表格导出的方法详解
2017/07/21 PHP
解决laravel上传图片之后,目录有图片,但是访问不到(404)的问题
2019/10/14 PHP
父窗口获取弹出子窗口文本框的值
2006/06/27 Javascript
在一个浏览器里呈现所有浏览器测试结果的前端测试工具的思路
2010/03/02 Javascript
分享一个用Mootools写的鼠标滑过进度条改变进度值的实现代码
2011/12/12 Javascript
教你用AngularJS框架一行JS代码实现控件验证效果
2014/06/23 Javascript
基于jQuery的ajax方法封装
2016/07/14 Javascript
JS基于正则截取替换特定字符之间字符串操作示例
2017/02/03 Javascript
jQuery实现checkbox即点即改批量删除及中间遇到的坑
2017/11/11 jQuery
使用Three.js实现太阳系八大行星的自转公转示例代码
2019/04/09 Javascript
js最实用string(字符串)类型的使用及截取与拼接详解
2019/04/26 Javascript
Vue项目打包压缩的实现(让页面更快响应)
2020/03/10 Javascript
Python基于pygame实现图片代替鼠标移动效果
2015/11/11 Python
Python正则表达式非贪婪、多行匹配功能示例
2017/08/08 Python
pandas or sql计算前后两行数据间的增值方法
2018/04/20 Python
Python爬虫实现抓取京东店铺信息及下载图片功能示例
2018/08/07 Python
python调用摄像头拍摄数据集
2019/06/01 Python
Django REST框架创建一个简单的Api实例讲解
2019/11/05 Python
HTML5中原生的右键菜单创建方法
2016/06/28 HTML / CSS
html2canvas截图空白问题的解决
2020/03/24 HTML / CSS
OLEDBConnection和SQLConnection有什么区别
2013/05/31 面试题
人力资源管理专业应届生求职信
2013/09/28 职场文书
什么样的创业计划书可行性高?
2014/02/01 职场文书
捐献物资倡议书范文
2014/05/19 职场文书
建设工程授权委托书
2014/09/22 职场文书
2014幼儿园班主任工作总结
2014/12/04 职场文书
普通员工辞职信范文
2015/05/12 职场文书
python爬取网页版QQ空间,生成各类图表
2021/06/02 Python
Android超详细讲解组件ScrollView的使用
2022/03/31 Java/Android
了解MySQL查询语句执行过程(5大组件)
2022/08/14 MySQL