random库是用于产生并运用随机数的标准库

主要包含的有9个随机函数,分别是:

seed(), random(), randint(), getrandbits(), randrange(), uniform(),choice() shuffle(), sample()

介绍如下:

random.seed(a)

  设置初始化随机种子a

  a:随机种子,可以是整数或浮点数。

  使用random库产生随机种子,如果不设置,,则random库默认以系统时间产生当做随机种子。设置种子的好处是可以重复再现相同的随机种子。

random.random()

  生成一个[0.0, 1.0)之间的随机种子

import random
print(random.random()) -->
0.10555404538917945

random.randint(a, b)

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

  随机区间的开始值,整数。

  随机区间的结束值,随机数包含结束值整数。

import random
print(random.randint(0, 100)) -->
随机返回一个1到100的整数,例如22,34,67,54

random.getrandbits(k)

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

  k:长度的整数值

import random
print(random.getrandbits(10)) -->
770
178
270
比特长度为10的随机整数

random.randrange(start, stop[, step])

  生成一个[start, stop]之间以step为步数的随机整数

  start:随机区间的开始值,整数

  stop:随机区间的结束值,随机数包含结束值,整数

  step:随机区间的步长值,整数。步长值可选,如果不设定步长,默认步长为1

import random
print(random.randrange(0, 100, 2)) -->
返回一个0到100的随机偶数,整数.例如:22,46,88,48

random.uniform(a, b)

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

  a:随机区间的开始值,整数或浮点数

  b:随机区间的结束值,随机数包含结束值,整数或浮点数

import random
print(random.uniform(0, 10)) -->
返回一个0到10之间的随机小数(例如:8.519225050623398)

random.choice(seq)

  从序列类型(例如列表)seq中随机返回一个元素

  seq:序列类型,例如列表类型

import random
li = [1, 3, 5, 7, 9]
print(random.choice(li)) -->
随机返回一个列表li中的元素

random.shuffle(seq)

  将序列类型seq中的元素随机排列,返回打乱后的序列(类比洗牌)

  seq:序列类型,例如列表类型

  调用该函数,序列类型seq将被改变

import random
li = [2, 4, 6, 8, 10]
random.shuffle(li)
print(li) -->
返回一个乱序的列表li
例如:[4, 2, 10, 8, 6]

random.sample(pop, k)

  从pop类型中随机选取k个元素,以列表的类型返回

  pop:序列类型,例如列表

  k:选取的个数,整数

import random
li = [1, 2, 3, 4, 5, 6, 7, 8, 9]
str = '人生苦短,我用python'
print(random.sample(li, 3))
print(random.sample(str, 2)) -->
第一行,在列表li中随机选取三个元素
第二行在字符串str中随机选取两个元素
例如:
[1, 8, 6]
['人', 'p']

  

  

random随机库的更多相关文章

  1. Boost随机库的简单使用:Boost.Random(STL通用)

    文章目录 文章目录 文章内容介绍 Boost随机库的简单使用 生成一个随机的整数 生成一个区间的平均概率随机数 按概率生成一个区间的随机整数 一些经典的分布 与STL的对比 Ref 文章内容介绍 Bo ...

  2. Chrome V8引擎系列随笔 (1):Math.Random()函数概览

    先让大家来看一幅图,这幅图是V8引擎4.7版本和4.9版本Math.Random()函数的值的分布图,我可以这么理解 .从下图中,也许你会认为这是个二维码?其实这幅图告诉我们一个道理,第二张图的点的分 ...

  3. Math.random()

    Math.random() 日期时间函数(需要用变量调用):var b = new Date(); //获取当前时间b.getTime() //获取时间戳b.getFullYear() //获取年份b ...

  4. .Net使用system.Security.Cryptography.RNGCryptoServiceProvider类与System.Random类生成随机数

    .Net中我们通常使用Random类生成随机数,在一些场景下,我却发现Random生成的随机数并不可靠,在下面的例子中我们通过循环随机生成10个随机数: ; i < ; i++) { Rando ...

  5. 随机数(random)

    需求 Random rd=new Random(); 需要十以内的随机数  (0---10) System.out.println((int)((rd.nextDouble()*100)/10)); ...

  6. python写红包的原理流程包含random,lambda其中的使用和见简单介绍

    Python写红包的原理流程 首先来说说要用到的知识点,第一个要说的是扩展包random,random模块一般用来生成一个随机数 今天要用到ramdom中unifrom的方法用于生成一个指定范围的随机 ...

  7. [LeetCode] Random Pick Index 随机拾取序列

    Given an array of integers with possible duplicates, randomly output the index of a given target num ...

  8. [LeetCode] Linked List Random Node 链表随机节点

    Given a singly linked list, return a random node's value from the linked list. Each node must have t ...

  9. [LeetCode] Copy List with Random Pointer 拷贝带有随机指针的链表

    A linked list is given such that each node contains an additional random pointer which could point t ...

随机推荐

  1. Knowing When to Use Override and New Keywords (C# Programming Guide)

    https://msdn.microsoft.com/en-us/library/ms173153.aspx In C#, a method in a derived class can have t ...

  2. 在IIS上搭建WebSocket服务器(二)

    服务器端代码编写 1.新建一个ASP.net Web MVC5项目 2.新建一个“一般处理程序” 3.Handler1.ashx代码如下: using System; using System.Col ...

  3. bzoj4668

    并查集+最小生成树 首先我们发现这题可以lct维护最小生成树,但是发现如果生成树在之后是不会修改的,那么就想到了并查集,然后就不知道怎么做了... 其实当我们连接两个连通块的时候,两个连通块只能通过这 ...

  4. bzoj3132

    二维树状数组 树状数组什么的只支持修改单个数值,但是这道题要我们更新一个区域 盗图 就是这样,然后维护四个bit就行了 #include<bits/stdc++.h> using name ...

  5. Secure CRT中解决vim高亮设置的方法

    此文主要是解决vim编程中高亮显示的.原因是: 1.默认情况下,SecureCRT是有自己的终端显示颜色.这样在我们编程中不利于阅读内容. 2.我们必须到Linux系统中进行改进才能真正解决这样的问题 ...

  6. PCB CE工具取Genesis JOB与STEP内存地址 方法分享

    今天无意中在硬盘上找到了<CE工具取Genesis JOB与STEP内存地址 >视频, 这是2013年初由郭兄(永明)远程时录制的一段视频,特别感谢郭兄指引与帮助, 想当初要不是你推出全行 ...

  7. P2258 子矩阵(dp)

    P2258 子矩阵 题目描述 给出如下定义: 子矩阵:从一个矩阵当中选取某些行和某些列交叉位置所组成的新矩阵(保持行与列的相对顺序)被称为原矩阵的一个子矩阵. 例如,下面左图中选取第2.4行和第2.4 ...

  8. [Swift通天遁地]九、拔剑吧-(12)创建Preview-Transition图像预览界面

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...

  9. c++ 四种类型转换机制

    类型转换机制可以分为:隐式类型转换 和 显示类型转换(强制类型转换) C中的类型转换: 事情要从头说起,这个头就是C语言.我们已经习惯了使用C-like类型转换,因为它强大而且简单. 主要有一下两种形 ...

  10. Ambari是啥?主要是干啥的?

    简单来说,Ambari是一个拥有集群自动化安装.中心化管理.集群监控.报警功能的一个工具(软件),使得安装集群从几天的时间缩短在几个小时内,运维人员从数十人降低到几人以内,极大的提高集群管理的效率. ...