博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python之random
阅读量:4866 次
发布时间:2019-06-11

本文共 1571 字,大约阅读时间需要 5 分钟。

random

伪随机数生成模块。如果不提供seed,默认使用系统时间。

使用相同seed,可获得相同的随机数序列,常用于测试。

>>> from random import *>>> >>> a = Random();a.seed(1)>>> >>> a
>>> [a.randint(1,100) for i in range(20)] #生成20个[1,100]以内的随机数[14, 85, 77, 26, 50, 45, 66, 79, 10, 3, 84, 44, 77, 1, 45, 73, 23, 95, 91, 4]>>> >>> b = Random();b.seed(1)>>> >>> [b.randint(1,100) for i in range(20)][14, 85, 77, 26, 50, 45, 66, 79, 10, 3, 84, 44, 77, 1, 45, 73, 23, 95, 91, 4]#使用相同的seed,可获得相同的随机数序列,常用于测试

 

使用示例:

生成start<=N<stop范围内的随机整数

>>> randrange(1,10)1>>> >>> randrange(1,10,3)#支持步进7>>> randrange(1,10)3>>> randrange(1,10)1>>> randrange(1,10)8>>> randrange(1,10)3

生成a<=N<=b范围内的整数

>>> randint(1,10)9

从序列中随机返回元素

>>> import string>>> >>> string.digits'0123456789'>>> >>> choice(string.digits)'3'>>> choice(string.digits)'5'

打乱序列,随机洗牌:

>>> a = range(10)>>> a[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]>>> shuffle(a)>>> a[5, 0, 4, 2, 7, 9, 6, 3, 8, 1]

从序列中随机挑选n个不同元素的组合成列表:

>>> string.letters'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'>>> >>> sample(string.letters,10)['f', 'w', 'Y', 'k', 'j', 'U', 'x', 'g', 'W', 'z']>>> "".join(sample(string.letters,10)) #生成指定长度的随机字符 串'rcYvVBFiuX'>>> >>> "".join(sample(string.letters,10)) #生成指定长度的随机字符 串'VMTaDEwOBg'

生成0.0<=N<1的随机浮点数:

>>> from random import *>>> random() #生成0.0<=N<1的随机浮点数0.64468721840449683>>> random()0.64314720491508159>>> >>> >>> uniform(1,10)2.0345270899004566>>> uniform(1,10) #生成min<=N<=max范围内的随机浮点数7.4607728774267086>>> >>> uniform(10,1) #生成min<=N<=max范围内的随机浮点数  8.5975353880482359

该模块还支持三角、指数分布、高斯分布等随机算法。

转载于:https://www.cnblogs.com/gsblog/p/3370978.html

你可能感兴趣的文章
记开发个人图书收藏清单小程序开发(九)Web开发——新增图书信息
查看>>
四则运算完结篇
查看>>
poj3401二分图
查看>>
Objective-C中的类目,延展,协议
查看>>
Python标准模块--Iterators和Generators
查看>>
Introduction Sockets to Programming in C using TCP/IP
查看>>
PHP 简单实现webSocket
查看>>
zookeeper部署搭建
查看>>
navigationController pop回之前控制器
查看>>
汇编语言实验一
查看>>
Web.config配置文件详解(新手必看)
查看>>
selenide总结
查看>>
selenium--控制浏览器和简单元素操作
查看>>
[笔记] imooc《JavaScript深入浅出》对象与函数
查看>>
hdu1078FatMouse and Cheese
查看>>
jquery 处理密码输入框(input type="password" ) 模仿placeholder
查看>>
移动端touch触摸事件(滑动效果和手势操作)
查看>>
HTTP、TCP、 UDP、 IP 、 Socket的关系
查看>>
Linux终端使用技巧——个人总结
查看>>
简单通用线程池的实现
查看>>