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. ubuntu多版本jdk安装及切换

    系统:ubuntu14.04 一.安装openjdk1.7 sudo apt-get install openjdk-7-jre openjdk-7-jdk 安装完成后找到其安装路径: dpkg -L ...

  2. go语言笔记——包的概念本质上和java是一样的,通过大小写来区分private,fmt的Printf不就是嘛!

    示例 4.1 hello_world.go package main import "fmt" func main() { fmt.Println("hello, wor ...

  3. JAVA基础(多线程Thread和Runnable的使用区别(转载)

    转自:http://jinguo.iteye.com/blog/286772 Runnable是Thread的接口,在大多数情况下“推荐用接口的方式”生成线程,因为接口可以实现多继承,况且Runnab ...

  4. PCB Winform中的WebBrowser扩展拖放(拖拽)功能 实现方法

    我们在Winform支持网页通常增加WebBrowser控件实现,相当于内嵌浏览器浏览网页使用, 而此WebBrowser默认情况是文件拖入功能是不支持的, 如何才能支持呢.在这里介绍如何实现方法 一 ...

  5. E20170804-mk

    epic n. 史诗; 叙事诗; 史诗般的作品; estimate vt. 估计,估算; 评价,评论; 估量,估价; Sprint  vi. 冲刺,全速短跑; n. 全速短跑; 速度或活动的突然爆发; ...

  6. spring基础学习---aop

    1:无参aop下面为项目结构 2:通知类.MyAdvice package cn.edu.aop; import org.aspectj.lang.ProceedingJoinPoint; //通知类 ...

  7. php排序函数测试

    1.sort,asort,arsort函数 十万个数的数组排序,用了0.17秒 $starttime=explode(' ',microtime());;for ($i=0; $i <10000 ...

  8. 洛谷P1613 跑路(最短路+倍增)

    P1613 跑路 题目描述 小A的工作不仅繁琐,更有苛刻的规定,要求小A每天早上在6:00之前到达公司,否则这个月工资清零.可是小A偏偏又有赖床的坏毛病.于是为了保住自己的工资,小A买了一个十分牛B的 ...

  9. Effective C++ 深入理解inline

    Effective C++ 深入理解inline inline语义 inline本义是将所调用函数用自身的函数本体替换之,免受函数调用所招致的额外开销,比宏还要不易出错:但是实际上inline的受编译 ...

  10. 注解配置AOP切面编程

    1.导入先关jar包 2.编写applicationContext.xml,配置开启注解扫描和切面注解扫描 <?xml version="1.0" encoding=&quo ...