random

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

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

>>> from random import *
>>>
>>> a = Random();a.seed(1)
>>>
>>> a
<random.Random object at 0x6beb50>
>>> [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
''
>>>
>>> choice(string.digits)
''
>>> choice(string.digits)
''

打乱序列,随机洗牌:

>>> 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

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

http://docs.python.org/2.7/library/random.html#module-random

Python之random的更多相关文章

  1. python使用random函数生成随机数

    python使用random函数来生成随机数,常用的方法有: import random #生成0-1之间的数(不包括0和1) random.random() #生成1-5之间的随机整数(包括1和5) ...

  2. 【转载】python 模块 - random生成随机数模块

    随机数种子 要每次产生随机数相同就要设置种子,相同种子数的Random对象,相同次数生成的随机数字是完全相同的: random.seed(1) 这样random.randint(0,6, (4,5)) ...

  3. 【转】python之random模块分析(一)

    [转]python之random模块分析(一) random是python产生伪随机数的模块,随机种子默认为系统时钟.下面分析模块中的方法: 1.random.randint(start,stop): ...

  4. python的random()函数

    python 的random函数需要调用 #!/usr/bin/python # -*- coding: UTF-8 -*- import random print( random.randint(1 ...

  5. python的random模块(生成验证码)

    python的random模块(生成验证码) random模块常用方法 random.random() #生成0到1之间的随机数,没有参数,float类型 random.randint(1, 3) # ...

  6. python随机数random

    1.random.random()方法用于生成一个0到1的随机浮点数:0<=n<1.0 2.random.uniform(a,b):用于生成一个指定范围内的随机浮点数,两格参数中,其中一个 ...

  7. ZH奶酪:【Python】random模块

    Python中的random模块用于随机数生成,对几个random模块中的函数进行简单介绍.如下:random.random() 用于生成一个0到1的随机浮点数.如: import random ra ...

  8. python基础--random模块

    python使用random生成随机数 下面是主要函数random.random()用于生成一个0到1的随机符点数: 0 <= n < 1.0random.randint(a, b)生成的 ...

  9. python中random的基本用法

    那么怎么使 a 随机生成一个数值呢,来研究一下random的部分程序:python中random模块的几个函数可以随机生成数值,下面咱们看一下random的几个函数的使用方法. random()是不能 ...

  10. Python中random模块生成随机数详解

    Python中random模块生成随机数详解 本文给大家汇总了一下在Python中random模块中最常用的生成随机数的方法,有需要的小伙伴可以参考下 Python中的random模块用于生成随机数. ...

随机推荐

  1. php 连接mysql数据库以及增删改查

    php 连接数据库 一般是用面向对象的方法,需要先创建一个对象,即造一个连接对象,然后再写sql语句,(增改查删),最后执行sql语句 其中在创建连接对象时 我们用到的是MySQLI  是不区分大小写 ...

  2. 张高兴的 Windows 10 IoT 开发笔记:使用 MAX7219 驱动 8×8 点阵

    GitHub:https://github.com/ZhangGaoxing/windows-iot-demo/tree/master/MAX7219

  3. maven的java web项目启动找不到Spring ContextLoaderListener的解决办法

    用maven搭建的java web项目,上传到git仓库后,当同事clone下来项目,部署到tomcat运行时,就报了如下错误,即启动web项目时,加载web.xml文件,找不到spring的监听器, ...

  4. Java 线程基本知识

    线程 线程和进程 进程 : 进程指正在运行的程序.确切的来说,当一个程序进入内存运行,即变成一个进程,进程是处于运行过程中的程序,并且具有一定独立功能. 线程 : 线程是进程中的一个执行单元(执行路径 ...

  5. MySQL中字段类型为timestamp的小坑

    之前遇到过一个MySQL的字段为timestamp类型的小坑. MySQL中一个字段存储时间类型数据的时候,该字段的类型如果为timestamp类型的话,最多只能存储到2038-01-19 11:14 ...

  6. Single linked List by pointer

    其实本应该从一般性的表讲起的,先说顺序表,再说链表 .但顺序表的应用范围不是很广,而且说白了就是数组的高级版本,他的优势仅在于两点:1.逻辑直观,易于理解.2.查找某个元素只需要常数时间--O(1), ...

  7. [Bayesian] “我是bayesian我怕谁”系列 - Exact Inferences

    要整理这部分内容,一开始我是拒绝的.欣赏贝叶斯的人本就不多,这部分过后恐怕就要成为“从入门到放弃”系列. 但,这部分是基础,不管是Professor Daphne Koller,还是统计学习经典,都有 ...

  8. Redis主从环境配置

    1.Redis主从同步原理 redis主服务器会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,然后将数据文件同步给从服务器,从服务器加载记录文件,在内存库中更新新数据. 2.VMWar ...

  9. win8在安装office visio2003出现“请求的操作需要提升”,解决方法

    单击右键,然后以管理员身份运行即可

  10. Asp.net Api中使用OAuth2.0实现“客户端验证”

    一.实现继承自OAuthAuthorizationServerProvider的类,实现以"客户端验证"方式传入的相关认证和access_token发放. public class ...