Python随机数模块详情
作者:一碗周 发布时间:2021-10-26 06:47:34
前言:
随机数模块实现了各种分布的伪随机数生成器。对于整数,从范围中有统一的选择。 对于序列,存在随机元素的统一选择、用于生成列表的随机排列的函数、以及用于随机抽样而无需替换的函数。
1、生成随机数
1.1 random.random() 方法
返回随机生成的一个实数,它在[0,1)范围内。
语法结构:
import random # 导入 random 模块
random.random()
1.2 random.randint方法
语法格式:
random.randint(a,b)
函数返回数字 N
,N
为 a
到 b
之间的数字(a <= N <= b
),包含 a
和 b
1.3 random.uniform方法
语法格式:
random.uniform(a,b)
函数返回一个随机浮点数 N
,当 a <= b
时 a <= N <= b
,当 b < a
时 b <= N <= a
。
1.4 random.randrange方法
语法结构:
random.randrange(start, stop[, step])
start: 计数从
start
开始。默认是从 0 开始。例如randrange(5)
等价于range(0, 5);
stop: 计数到
stop
结束,但不包括stop
。例如:randrange(0, 5)
是[0, 1, 2, 3, 4]
没有5step:步长,默认为1。例如:
range(0, 5)
等价于randrange(0, 5, 1)
返回一个随机范围内的数字
等价于choice(range(start, stop, step))
示例代码:
import random
random_value = random.random()
print(random_value)
randint_value = random.randint(1, 3) # 返回随机整数
print(randint_value)
uniform_value = random.uniform(1, 3) # 返回随机浮点数
print(uniform_value)
randrange_value = random.randrange(1, 100, 2) # 1到100步长为2(这里只能取到100以为的奇数)
print(randrange_value)
每次运行取到的结果都是不一样的。
2、用于序列的函数
2.1 random.choice(seq)
从非空序列中返回一个随机元素,如果序列为空,则抛出异常
示例代码:
import random
value = random.choice(range(1, 100, 2))
# 这个等于random.randrange(1, 100, 2)
print(value)
好像洗牌就要用这个方法哎
生成一个验证码的小案例:
import random
# 一个生成验证号的小案例
all_chars = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
captcha = ''
for _ in range(4):
a = random.choice(all_chars)
captcha += a # 连接字符串
print(captcha)2.2 random.shuffle()方法
shuffle(list)
方法将序列的所有元素随机排序示例代码:
import random
list1 = ["beautiful" , "cute", "beautiful", 'prefect', "beautiful", "甜甜", 'lovely']
random.shuffle(list1)
print(list1)
2.3 random.sample()方法
random.sample(sequence, k)
,从指定序列中随机获取指定长度的片断。sample
函数不会修改原有序列。切片长度不能超过原有的长度,否则会抛出异常
示例代码:
import random
list1 = ["beautiful", "cute", "beautiful", 'prefect', "beautiful", "甜甜", 'lovely']
list2 = random.sample(list1, len(list1))
print("原列表:", list1)
print("新列表:", list2)
这个方法可以给原序列排序并不破坏原有序列
来源:https://juejin.cn/post/7024054686206410783


猜你喜欢
- vue-cli使用stimulsoft.reports.js(保姆级教程)第一部分:数据源准备以下是JSON数据的教程json数据结构{&q
- 1、保存列表为.txt文件#1/list写入txtipTable = ['158.59.194.213', '18.
- MySQL的默认编码是Latin1,不支持中文,要支持中午需要把数据库的默认编码修改为gbk或者utf8。1、需要以root用户身份登陆才可
- python永久添加搜索路径_Python sys.path永久添加在用户目录下,找到隐藏文件.bashrc 文件然后在末尾添加export
- 技巧之一:提高使用Request集合的效率 访问一个ASP集合来提取一个值是费时的、占用计算资源的过程。因为这个操作包含了一系列对相关集合的
- 问题:如何经过convTransposed1d输出指定大小的特征?import torchfrom torch import nnimpor
- 读取csv文件时添加表头/列名有时,我们读取的csv文件数据时发现没有表头/列名,是因为Python读取csv文件数据本来就没有表头,用pa
- 一.脚本基础1.USE语句设置当前数据库。2.声明变量语法:DECLARE @变量名 变量类型在声明变量后,给变量赋值之前,变量的值为NUL
- 安装文件准备:安装文件下载地址python-2.6.2.msihttp://www.python.org/download/wxPython
- 1 predict()方法当使用predict()方法进行预测时,返回值是数值,表示样本属于每一个类别的概率,我们可以使用numpy.arg
- 之前跟一些小伙伴有个讨论:大概就是很多跟数据打交道的朋友都面对过很复杂的excel公式,有时嵌套层数特别多,肉眼观看很容易蒙圈。有了这样的需
- 数据类型:float — 浮点数可以精确到小数点后面15位int — 整型可以无限 * ool — 非零为true,零为falselist —
- reduce函数原本在python2中也是个内置函数,不过在python3中被移到functools模块中。reduce函数先从列表(或序列
- 安装包网盘下载链接:链接: https://pan.baidu.com/s/1TLLeCnNkHtuTiAxHBl39hg 提取码: 9yg
- 一.windows系统的解决方法1.首先以系统管理员身份登陆系统。2.停止MySQL的服务。3.进入命令窗口,然后进入MySQL的安装目录,
- MySQL是一个开放源码的小型关联式数据库管理系统,开发者为瑞典MySQL AB公司。目前MySQL被广泛地应用在Internet上的中小型
- 以下的实例为去除指定表中数据类型是VARCHAR,CHAR,NVARCHAR的字段值中的不可见字符。 注释:此处只去掉前后的不可见字符,不包
- 第一步:python解释器,到网上下载安装下就行。网址:https://www.python.org/downloads/windows/值
- 继承是面向对象编程的一个重要的方式,通过继承,子类就可以扩展父类的功能。在python中一个类能继承自不止一个父类,这叫做python的多重
- Series对象和DataFrame的列数据提供了cat、dt、str三种属性接口(accessors),分别对应分类数据、日期时间数据和字