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. YTU 2774: Prepare for CET6

    2774: Prepare for CET6 时间限制: 1 Sec  内存限制: 128 MB 提交: 40  解决: 37 题目描述 Hard to force the CET4&6 is ...

  2. 将canvas画布内容转化为图片(toDataURL(),创建url)

    将canvas画布内容转化为图片(toDataURL(),创建url) 总结 1.现在的浏览器都支持右键另存为图片的方法来将canvas画布内容转化为图片 2.在代码里面可以通过toDataURL() ...

  3. js如何获取某id的子标签

    思路:根据id获取父对象,然后使用childNodes获取所有子对象数组,关键代码: document.getElementById(div_id).childNodes;   // 子对象数组 实例 ...

  4. [CF391E2]Three Trees

    https://zybuluo.com/ysner/note/1246822 题面 有三棵树,建两条边让他们相连,最大化所有点对距离之和. \(40pts\ n\leq1000\) \(100pts\ ...

  5. linux下的so、o、lo、a、la文件的区别

    o: 编译的目标文件a: 静态库,其实就是把若干o文件打了个包so: 动态链接库(共享库) lo: 使用libtool编译出的目标文件,其实就是在o文件中添加了一些信息la: 使用libtool编译出 ...

  6. 杂项:E-Learning

    ylbtech-杂项:E-Learning 1.返回顶部 1. E-Learning:英文全称为(Electronic Learning),中文译作“数字(化)学习”.“电子(化)学习”.“网络(化) ...

  7. bzoj1106

    模拟+树状数组 先开始以为是先删距离最小的,这样可以减小上下的距离,然后觉得很难写,看码长很短,就看了题解,结果很奥妙 我们只考虑两种元素,就是如果像-a-b-a-b-这样的肯定得交换,如果像-a-b ...

  8. JavaScript--如何插入JS

    我们来看看如何写入JS代码?你只需一步操作,使用<script>标签在HTML网页中插入JavaScript代码.注意, <script>标签要成对出现,并把JavaScrip ...

  9. STL之set篇

    insert为插入.set_intersection求交集,set_union求并集,是属于algorithm里的函数. 例题有 PAT甲级1063 #include<iostream> ...

  10. JS——冒泡排序

    核心思想: 1.外层for循环控制比较的轮数 2.内层for循环控制每轮比较的次数 3.外层每进行一轮比较,内层就少一次比较,因为外层每进行一轮比较都会产生一个最大值 <script> v ...