random随机库
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随机库的更多相关文章
- Boost随机库的简单使用:Boost.Random(STL通用)
文章目录 文章目录 文章内容介绍 Boost随机库的简单使用 生成一个随机的整数 生成一个区间的平均概率随机数 按概率生成一个区间的随机整数 一些经典的分布 与STL的对比 Ref 文章内容介绍 Bo ...
- Chrome V8引擎系列随笔 (1):Math.Random()函数概览
先让大家来看一幅图,这幅图是V8引擎4.7版本和4.9版本Math.Random()函数的值的分布图,我可以这么理解 .从下图中,也许你会认为这是个二维码?其实这幅图告诉我们一个道理,第二张图的点的分 ...
- Math.random()
Math.random() 日期时间函数(需要用变量调用):var b = new Date(); //获取当前时间b.getTime() //获取时间戳b.getFullYear() //获取年份b ...
- .Net使用system.Security.Cryptography.RNGCryptoServiceProvider类与System.Random类生成随机数
.Net中我们通常使用Random类生成随机数,在一些场景下,我却发现Random生成的随机数并不可靠,在下面的例子中我们通过循环随机生成10个随机数: ; i < ; i++) { Rando ...
- 随机数(random)
需求 Random rd=new Random(); 需要十以内的随机数 (0---10) System.out.println((int)((rd.nextDouble()*100)/10)); ...
- python写红包的原理流程包含random,lambda其中的使用和见简单介绍
Python写红包的原理流程 首先来说说要用到的知识点,第一个要说的是扩展包random,random模块一般用来生成一个随机数 今天要用到ramdom中unifrom的方法用于生成一个指定范围的随机 ...
- [LeetCode] Random Pick Index 随机拾取序列
Given an array of integers with possible duplicates, randomly output the index of a given target num ...
- [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 ...
- [LeetCode] Copy List with Random Pointer 拷贝带有随机指针的链表
A linked list is given such that each node contains an additional random pointer which could point t ...
随机推荐
- abstract (C# Reference)
https://msdn.microsoft.com/en-us/library/sf985hc5.aspx The abstract modifier indicates that the thin ...
- SQL 字符串处理函数大全
select语句中只能使用sql函数对字段进行操作(链接sql server),select 字段1 from 表1 where 字段1.IndexOf("云")=1;这条语句不对 ...
- bzoj 1935 Tree 园丁的烦恼
题目大意: 一些点,每次查询一个矩形内有多少个点 思路: 因为空间太大 所以不能用什么二维树状数组 需要把这些点和所有查询的矩阵的左下和右上离线下来 先离散化 然后每个子矩阵像二维前缀和那样查询 按照 ...
- bzoj2982 combination——卢卡斯定理
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2982 卢卡斯定理裸题: 原准备1A来着,结果输出忘了加回车! 预处理阶乘或者现求都可以,感觉 ...
- bzoj3505 [Cqoi2014]数三角形——组合数+容斥
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3505 好题啊好题...好像还曾经出现在什么智力测试卷中来着...当时不会现在还是无法自己推出 ...
- 微信小程序压缩图片并上传到服务器(拿去即用)
这里注意一下,图片压缩后的宽度是画布宽度的一半 canvasToTempFilePath 创建画布的时候会有一定的时间延迟容易失败,这里加setTimeout来缓冲一下 这是单张图片压缩,多张的压缩暂 ...
- HTML--使用提交按钮,提交数据
在表单中有两种按钮可以使用,分别为:提交按钮.重置.这一小节讲解提交按钮:当用户需要提交表单信息到服务器时,需要用到提交按钮. 语法: <input type="submit" ...
- python网络爬虫数据中的三种数据解析方式
一.正则解析 常用正则表达式回顾: 单字符: . : 除换行以外所有字符 [] :[aoe] [a-w] 匹配集合中任意一个字符 \d :数字 [0-9] \D : 非数字 \w :数字.字母.下划线 ...
- Spark SQL入门案例之人力资源系统数据处理
通过该案例,给出一个比较完整的.复杂的数据处理案例,同时给出案例的详细解析. 人力资源系统的管理内容组织结构图 1) 人力资源系统的数据库与表的构建. 2) 人力资源系统的数据的加载. 3) 人力资源 ...
- Java学习笔记_网络+多线程
支持同时收发的客户端和服务器端 客户端 import javax.swing.*; import java.awt.*; import java.io.*; import java.net.*; im ...