Python中的random模块用于生成随机数。下面介绍一下random模块中最常用的几个函数。

random.random

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

random.uniform

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

  1. print random.uniform(10,20)
  2. print random.uniform(20,10)
  3. #---- 结果(不同机器上的结果不一样)
  4. #18.7356606526
  5. #12.5798298022

random.randint

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

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

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

random.choice

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

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

random.shuffle

  random.shuffle的函数原型为:random.shuffle(x[, random]),用于将一个列表中的元素打乱。如:

  1. p = ["Python","is", "powerful","simple", "and so on..."]
  2. random.shuffle(p)
  3. print p
  4. #---- 结果(不同机器上的结果可能不一样。)
  5. #['powerful', 'simple', 'is', 'Python', 'and so on...']

random.sample

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

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

  上面这些方法是random模块中最常用的,在Python手册中,还介绍其他的方法。感兴趣的朋友可以通过查询Python手册了解更详细的信息。

例子:

[python] view plaincopy print?
  1. import random
  2. result = random.random()
  3. print result   #生成0-1的随机数
  4. print random.uniform(10,12)  #10-12的随机数
  5. print random.randint(30,50)  #30-50的随机整数 
  6. print random.randrange(10,100,2) #从10开始到100结束,步长为2的序列中,随机选一个
  7. list = [1,2,5,6,7,8,8]
  8. print random.choice(list)   #从序列中随机选一个
  9. random.shuffle(list)     #重新排列序列
  10. print list
  11. list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
  12. slice = random.sample(list, 5)   #从序列中取样
  13. print slice

结果:

0.782366976492
11.5582702631
42
88
7
[1, 5, 8, 6, 7, 2, 8]
[10, 2, 9, 7, 8]

本文转自http://blog.csdn.net/xiaocaiju/article/details/6973175,所有权力归原作者所有。

python random模块相关推荐

  1. python数组随机打乱_对Python random模块打乱数组顺序的实例讲解

    在我们使用一些数据的过程中,我们想要打乱数组内数据的顺序但不改变数据本身,可以通过改变索引值来实现,也就是将索引值重新随机排列,然后生成新的数组.功能主要由python中random模块的sample ...

  2. Python random 模块 - Python零基础入门教程

    目录 一.Python random 模块常用函数介绍 二.Python random 模块使用 三.猜你喜欢 零基础 Python 学习路线推荐 : Python 学习目录 >> Pyt ...

  3. Python random模块常用方法的使用

    Python random模块常用方法的使用 Python 的random模块包含许多随机数生成器. random是Python标准库之一,直接导入即可使用.本文介绍random中常用方法的用法. 一 ...

  4. python数据模块下载顺序_对Python random模块打乱数组顺序的实例讲解

    在我们使用一些数据的过程中,我们想要打乱数组内数据的顺序但不改变数据本身,可以通过改变索引值来实现,也就是将索引值重新随机排列,然后生成新的数组.功能主要由python中random模块的sample ...

  5. python random模块中的指令_10分钟让你掌握python编程中random模块功能使用,非常详细...

    原标题:10分钟让你掌握python编程中random模块功能使用,非常详细 python作为一门高级编程语言,它的定位是优雅.明确和简单.阅读Python编写的代码感觉像在阅读英语一样,这让使用者可 ...

  6. python random模块导入_Python学习笔记(二十)—模块的导入

    一.模块介绍 Python 提供了强大的模块支持,主要体现在Python 标准库中包含了大量的模块(称为标准模块),还有大量的第三方模块,开发者自己也可以开发自定义模块.通过这些强大的模块可以极大地提 ...

  7. python random模块中的指令_python中random模块的使用

    这些方法位于random模块中 random.random(),同javascript的Math.random(),返回[0.0,1)之间的浮点数 random.uniform(a, b),返回[a, ...

  8. Python random模块sample、randint、shuffle、choice随机函数

    一.random模块简介 Python标准库中的random函数,可以生成随机浮点数.整数.字符串,甚至帮助你随机选择列表序列中的一个元素,打乱一组数据等. 二.random模块重要函数 1 ).ra ...

  9. 对python random模块的认识_Python学习_random模块使用

    #!/usr/bin/python #-*- encoding:UTF-8 -*- #date:20180516 random模块的方法:随机生成想要的数字.字母等 '''随机函数,random生成的 ...

最新文章

  1. ***CI中的数据库操作(insert_id新增后返回记录ID)
  2. L2-006 树的遍历-团体程序设计天梯赛GPLT
  3. BZOJ5212 ZJOI2018历史(LCT)
  4. hihoCoder #1457 : 后缀自动机四·重复旋律7
  5. OPENCV-1 学习笔记
  6. 初级Java开发与架构之间的差距不仅仅是开发时间
  7. 编写算法判别给定二叉树是否为完全二叉树_别找了,链表和二叉树相关面试题以及解答,我都给你们找好了...
  8. 词袋模型 matlab,【火炉炼AI】机器学习051-视觉词袋模型+极端随机森林建立图像分类器...
  9. SVG格式化<PATH>说明
  10. ios13屏蔽系统更新方法
  11. 【项目管理心得】周总结与反思
  12. 成为数据库专家必读书目推荐
  13. 凝聚青春 心系夕阳
  14. Retrofit+Recycleview+fresco
  15. 计算机考试用到的英语词汇,BEC商务英语_计算机英语高级词汇·软件篇_沪江英语...
  16. 3D Human Body Reshaping with Anthropometric Modeling 阅读翻译
  17. 来简单地数个数(斐波那契额数列)
  18. 淮北师范大学计算机科学与技术专业属于,2015年淮北师范大学计算机科学与技术专业最低分是多少?...
  19. C++入门算法1——dp(动态规划)
  20. web渗透测试培训,如何做信息收集?

热门文章

  1. FreeRTOS基础以及UIP之协程--C语言剑走偏锋
  2. 【tool】常见功能测试点
  3. ubuntu下安装 memecache
  4. SQL Reverse函数
  5. db2主键自增和oracle,DB2主键自增长设置(id自增)
  6. 华北水利水电大学计算机实验报告怎么写,考试类:华北水利水电大学C语言实验报告.doc...
  7. java面试 设计模式_Java面试中常问到的设计模式
  8. MySQL史上最全性能优化方式
  9. 终于有人讲明白了,原来这才是全球低时延一张网技术
  10. 论文解读丨无参数的注意力模块SimAm