random库是使用随机数的Python标准库

python中用于生成伪随机数的函数库是random

因为是标准库,使用时候只需要import random

random库包含两类函数,常用的共9个

--基本随机函数: seed(), random()

 --扩展随机函数:randint(), getrandbits(), uniform(), randrange(), choice(), shuffle(),sample()

基本随机数

基本随机函数 
函数

描述

  seed(a=None)

初始化给定的随机数种子,默认为当前系统时间

>>>random.seed(10)     #产生种子10对应的序列

 random()

生成一个[0.0,1.0)之间的随机小数

>>>random.random()

0.5714025946899135            #随机数产生与种子有关,如果种子是1哦,第一个数必定是这个

使用随机数种子的好处是可以复现有随机数的程序

扩展随机数函数

在random库中,最基本的是seed 和random 函数,但时功能比较单一,为此产生了6个扩展随机数函数

扩展随机数函数
函数 描述
 randint(a,b)

生成一个[a,b]之间的整数

>>>random.randint(10,100)

 randrange(m,n[,k])

生成一个[m,n)之间以k为步长的随机整数

>>>random.randrange(10,100,10)

 getrandbits(k)

生成一个k比特长的随机整数

>>>random.getrandbits(16)

37885

 uniform(a,b)

生成一个[a,b]之间的随机小数

>>>random.uniform(10,100)

16.848041210321334

choice(seq)

序列相关

从序列中随机选择一个元素

>>>random.choice([1, 2, 3, 4, 5, 6, 7, 8, 9])

8

shuffle(seq)

序列相关

将序列seq中元素随机排列,返回打乱后的序列

>>>s=[1, 2, 3, 4, 5, 6, 7, 8, 9]; random.shuffle(s); print(s)

[9, 4, 6, 3, 5, 2, 8, 7, 1]

 sample()

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

  代码如下:
  

  1. print(random.sample('abcdefghijklmnopqrstuvwxyz', 3))
    #打印结果['a', 'o', 'p']

下面举一些常见的例子:

  1. 随机整数:
  2.  
  3. 代码如下:
  4. >>> import random
  5. >>> random.randint(0,99)
  6. # 21
  7.  
  8. 随机选取0100间的偶数:
  9.  
  10. 代码如下:
  11. >>> import random
  12. >>> random.randrange(0, 101, 2)
  13. # 42
  14.  
  15. 随机浮点数:
  16.  
  17. 代码如下:
  18. >>> import random
  19. >>> random.random()
  20. 0.85415370477785668
  21. >>> random.uniform(1, 10)
  22. # 5.4221167969800881
  23.  
  24. 随机字符:
  25.  
  26. 代码如下:
  27. >>> import random
  28. >>> random.choice('abcdefg&#%^*f')
  29. # 'd'
  30.  
  31. 多个字符中选取特定数量的字符:
  32.  
  33. 代码如下:
  34. >>> import random
  35. random.sample('abcdefghij', 3)
  36. # ['a', 'd', 'b']
  37.  
  38. 多个字符中选取特定数量的字符组成新字符串:
  39.  
  40. 代码如下:
  41. >>> import random
  42. >>>''.join( random.sample(['a','b','c','d','e','f','g','h','i','j'], 3) )
  43. # 'fih'
  44.  
  45. 随机选取字符串:
  46.  
  47. 代码如下:
  48. >>> import random
  49. >>> random.choice ( ['apple', 'pear', 'peach', 'orange', 'lemon'] )
  50. # 'lemon'
  51.  
  52. 洗牌:
  53.  
  54. 代码如下:
  55. >>> import random
  56. >>> items = [1, 2, 3, 4, 5, 6]
  57. >>> random.shuffle(items)
  58. >>> items
  59. # [3, 2, 5, 6, 4, 1]
 
参考文档: http://www.jb51.net/article/50066.htm

python--random库基本介绍的更多相关文章

  1. Python - random库介绍

  2. https学习笔记二----基础密码学知识和python pycrypto库的介绍使用

    在更详细的学习HTTPS之前,我也觉得很有必要学习下HTTPS经常用到的加密编码技术的背景知识.密码学是对报文进行编解码的机制和技巧.可以用来加密数据,比如数据加密常用的AES/ECB/PKCS5Pa ...

  3. python random库

    random模块 >>> import random #随机小数 >>> random.random() # 大于0且小于1之间的小数 0.766433866365 ...

  4. python Re库的介绍

    re库的贪婪匹配和最小匹配 后面跟着?变为最小匹配

  5. Python - random 库的详细使用

    前言 为啥突然写这个?因为用到就写呗,感觉对生成数据很有用,之前都是百度别人的,今天来对着官方文档写,超级标准! 这边只讲常用的,看了下文档还有什么数学方法,太高级好像用不上 返回整数 random. ...

  6. python标准库总的random函数用法

    Python标准库中的random函数,可以生成随机浮点数.整数.字符串,甚至帮助你随机选择列表序列中的一个元素,打乱一组数据等.random中的一些重要函数的用法:1 ).random() 返回0& ...

  7. Python标准库:1. 介绍

    标准库包括了几种不同类型的库. 首先是那些核心语言的数据类型库,比方数字和列表相关的库.在核心语言手冊里仅仅是描写叙述数字和列表的编写方式,以及它的排列,而未定义它的语义. 换一句话说,核心语言手冊仅 ...

  8. Python常用的库简单介绍一下

    Python常用的库简单介绍一下fuzzywuzzy ,字符串模糊匹配. esmre ,正则表达式的加速器. colorama 主要用来给文本添加各种颜色,并且非常简单易用. Prettytable ...

  9. Python使用turtle库与random库绘制雪花

    记录Python使用turtle库与random库绘制雪花,代码非常容易理解,画着玩玩还是可以的. 完整代码如下:   效果图如下:  

  10. Python图像处理库:PIL中Image,ImageDraw等基本模块介绍

    Python图像处理库:PIL中Image,ImageDraw等基本模块介绍 标签: 图像处理PILPYTHON 2016-08-19 10:58 461人阅读 评论(0) 收藏 举报  分类: 其他 ...

随机推荐

  1. 程序人生 | 35岁以上的 iOS 程序员都到哪里去了?

    1.网上流传华为公司正在清理 34 岁以上的员工. " 中国区开始集中清理 34 + 的交付员工,...... 去向是跟海外服务部门交换今年新毕业的校招员工,也就是进新人,出旧人. 这些旧人 ...

  2. 编写高质量的Python代码系列(五)之并发与并行

    用Python可以很容易就能写出并发程序,这种程序可以在同一时间做许多间不同的事情.我们也可以通过系统调用.子进程(subprocess)及C语言扩展来实现并行处理. 第三十六条: 用subproce ...

  3. Golang入门教程(二)Ubuntu16.04下安装golang(实例:Golang 定时任务管理器)

    通过两种方式安装 一.通过apt-get安装1.安装 sudo apt-get install golang 2.设置GOPATH变量 GOPATH是扩展库的目录,Go先搜索标准库目录,然后搜索GOP ...

  4. docker 容器网络基础

    ======================== docker缺省自带的网络 ======================== host 网络, This enables a container to ...

  5. [Deep Learning] 神经网络基础

    目前,深度学习(Deep Learning,简称DL)在算法领域可谓是大红大紫,现在不只是互联网.人工智能,生活中的各大领域都能反映出深度学习引领的巨大变革.要学习深度学习,那么首先要熟悉神经网络(N ...

  6. 程序到CPU的路径

    汇编 源码->编译->CPU C/C++ 源码->编译->机器码->系统(执行)->CPU Java/.NET 源码->编译->J字节码->虚拟机 ...

  7. EOCS 最低资源保障机制

    本期小E将为大家带来EOCS 最低资源保障机制. 为满足普通用户日常的转账等基本需求,无需再为较少的初始资源抵押担心无法使用链上功能.EOCS可以通过链的参数来调整分配给每个用户免费的资源额度,相当于 ...

  8. C# - 设计模式 - 虚模式

    虚模式 问题场景 子类从抽象派生是为了解耦,但为了适应新的变化,可能需要向抽象类添加新功能,假如在添加新功能之前已经有100个子类实现了抽象,那么接下来你得在100个子类中去重写向抽象添加的新功能. ...

  9. Springboot项目打包后的页面丢失问题(thymeleaf报错)

    遇到的问题目前找到两种: 返回视图路径以/开头,例如 /test/hello 在thymeleaf页面中,引入的页面以/开头,例如:<footer th:replace="/index ...

  10. 分布式系列十: Redis安装和命令

    redis是一个开源的, 内存数据结构存储, 一般用来作为数据库,缓存和消息代理. Redis的优势 多种数据结构 字符类型String 散列类型Hash 列表类型List 集合类型Set 有序集合类 ...