iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python 中random 库的详细使用
  • 418
分享到

Python 中random 库的详细使用

PythonrandomPythonrandom用法 2022-06-02 22:06:56 418人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

Random库主要包含返回随机数的函数,主要用于普通的随机数生成的程序,如果对随机性有特殊要求,比如加密等,可以用函数os.urandom()或者random模块内部的SystemRandom类,这些可以让数据接近真

Random库主要包含返回随机数的函数,主要用于普通的随机数生成的程序,如果对随机性有特殊要求,比如加密等,可以用函数os.urandom()或者random模块内部的SystemRandom类,这些可以让数据接近真正的随机性。

前言

  • 为啥突然写这个?因为用到就写呗,感觉对生成数据很有用,之前都是百度别人的,今天来对着官方文档写,超级标准!
  • 这边只讲常用的,看了下文档还有什么数学方法,太高级好像用不上

返回整数

random.randrange语法格式

两种写法


random.randrange(stop)
random.randrange(start, stop[, step])
  • start:起始数字,包含(取得到 start 这个值)
  • stop:末尾数字,不包含(取不到 stop 这个值)
  • step:步长

实际栗子


# 栗子一
for i in range(5):
    print(random.randrange(20))

####
17
4
7
7
4


# 栗子二
for i in range(5):
    print(random.randrange(10, 20))

####
13
14
11
17
17


# 栗子三
for i in range(5):
    print(random.randrange(10, 20, 2))

####
12
12
14
14
10

random.randint

语法格式

  • 返回随机整数N满足a<=N<=b
  • 相当于randrange(a,b+1)

random.randint(a, b)

实际栗子


for i in range(5):
    print(random.randint(0,20))

####
19
20
11
6
3

a、b 都可以取得到哦

返回浮点数

random.random()语法格式

返回 [0.0, 1.0) 范围内的下一个随机浮点数


random.random()

实际栗子


# 栗子一
for i in range(5):
    print(random.random())

####
0.9829492243165335
0.43473506430105724
0.5198709187243076
0.6437884305820736
0.7216771961168909


# 栗子二
for i in range(5):
    print(math.ceil(random.random() * 1000))

####
772
352
321
62
127

random.unifORM(a, b)

语法格式

  • 返回一个随机浮点数N
  • a<=b时,a<=N<=b
  • b<a时,b<=N<=a

random.uniform(a, b)

实际栗子


# 栗子一
for i in range(5):
    print(random.uniform(1, 10))

####
2.6200262089754593
9.220506911469235
3.0206896704014783
9.670905330339174
1.170694187192196


# 栗子二
for i in range(5):
    print(random.uniform(8, 2))

####
2.696842757954265
6.058794935110275
7.567631220015144
2.2057698202258074
4.454083664106361

传递列表作为参数

random.choice

语法格式

  • 从非空序列 seq 返回一个随机元素
  • 如果 seq 为空,会抛出 IndexError

random.choice(seq)

实际栗子


# 数字数组
print(random.choice([1, 2, 3, 4, 5]))
# 字母数组
print(random.choice(["a", "b", "c"]))
# 字母元组
print(random.choice(("a", "b", "c")))
# 字符串
print(random.choice("abcdef"))
# string 模块返回的大小写字母字符串
print(random.choice(string.ascii_letters))
# string 模块返回的数字字符串
print(random.choice(string.digits))
# string 模块返回的数字字符串+大小写字母字符串
print(random.choice(string.digits + string.ascii_uppercase))


####
5
c
c
e
l
2
F

random.choices

语法格式

  • populaiton:序列
  • weights:普通权重
  • cum_weights:累加权重
  • k:选择次数
  • weights 和 cum_weights 不能同时传,只能选择一个来传

random.choices(population, weights=None, *, cum_weights=None, k=1) 

看的迷迷糊糊啥意思。。?来看栗子。。

不带参数的栗子


a = [1,2,3,4,5]
print(random.choices(a,k=5))

# 结果
[5, 5, 3, 1, 5]

可以重复取元素

带 weight 的栗子一


a = [1, 2, 3, 4, 5]
print(random.choices(a, weights=[0, 0, 1, 0, 0], k=5))

# 结果
[3,3,3,3,3]
  • 序列有多长,weights 对应的序列就得多长,每个位置都是一一对应
  • 像这里,3 的权重是 1,其他是 0 ,所以每次都取 3,因为它的权重最高,其他元素没有权重

带 weight 的栗子二


a = [1, 2, 3, 4, 5]
print(random.choices(a, weights=[0, 2, 1, 0, 0], k=5))

# 结果
[2, 2, 2, 2, 3]

2 的权重更大,所以取到它的概率更高

带 cum_weights 的栗子


a = [1, 2, 3, 4, 5]

print(random.choices(a, cum_weights=[1, 1, 1, 1, 1], k=5))

print(random.choices(a, cum_weights=[1, 4, 4, 4, 4], k=5))

print(random.choices(a, cum_weights=[1, 2, 3, 4, 5], k=5))

# 结果
[1, 1, 1, 1, 1]
[2, 2, 1, 2, 1]
[5, 5, 1, 4, 2]

是不是看不懂?我也看不懂,但其实就是普通权重相加而已

cum_weights=[1, 1, 1, 1, 1]

  • 等价于 weights=[1, 0, 0, 0, 0]
  • [1,1+0,1+0+0,1+0+0+0,1+0+0+0+0]
  • 看懂了没,太反人类了。。

cum_weights=[1, 4, 4, 4, 4]

  • 等价于 weights=[1, 3, 0, 0, 0]
  • [1,1+3,1+3+0,1+3+0+0,1+3+0+0+0]

random.shuffle

语法格式

将序列 x 随机打乱位置
只能是列表[],元组、字符串会报错哦
random 暂时没找到有什么用,可以忽略


random.shuffle(x[, random])

实际栗子


# 数字数组
a = [1, 2, 3, 4, 5]
random.shuffle(a)
print(a)

# 字母数组
b = ["a", "b", "c"]
random.shuffle(b)
print(b)


####
[3, 5, 2, 4, 1]
['a', 'c', 'b']

random.sample

语法格式

  • 从 population 中取 k 个元素,组成新的列表并返回
  • 每次取元素都是不重复的,所以 population 的长度必须 ≥ k,否则会报错

random.sample(population, k)

实际栗子

全都是 k=3


# 数字数组
print(random.sample([1, 2, 3, 4, 5], 3))
# 字母数组
print(random.sample(["a", "b", "c"], 3))
# 字母元组
print(random.sample(("a", "b", "c"), 3))
# 字符串
print(random.sample("abcdef", 3))
# string 模块返回的大小写字母字符串
print(random.sample(string.ascii_letters, 3))
# string 模块返回的数字字符串
print(random.sample(string.digits, 3))
# string 模块返回的数字字符串+大小写字母字符串
print(random.sample(string.digits + string.ascii_uppercase, 3))

####
[2, 1, 3]
['b', 'c', 'a']
['a', 'b', 'c']
['a', 'f', 'b']
['M', 'w', 'W']
['7', '1', '5']
['R', '8', 'O']

以上就是python random 库的详细使用的详细内容,更多关于Python random 库的资料请关注编程网其它相关文章!

--结束END--

本文标题: Python 中random 库的详细使用

本文链接: https://www.lsjlt.com/news/10864.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python random模块的详细讲解
    1.random()方法random.random()方法返回的是[0,1)之间的浮点数 >>> import random c = random.random()print c 0.311067669783 ...
    99+
    2023-01-31
    模块 详细 python
  • python random库如何使用
    Python的random库提供了生成随机数的函数,可以用于生成随机数、随机选择等操作。以下是一些常见的使用方法: 生成随机整数:...
    99+
    2024-02-29
    python
  • python random库的简单使用demo
    目录python random库简单使用demopython random库简单使用demo 当我们需要生成随机数或者从一个序列中随机选择元素时,可以使用 Python 内置的 r...
    99+
    2023-03-24
    python random库 python random
  • Python中random库怎么用
    这篇文章将为大家详细讲解有关Python中random库怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Random库主要包含返回随机数的函数,主要用于普通的随机数生成的程序,如果对随机性有特殊要求,...
    99+
    2023-06-15
  • python random库如何使用demo
    本篇内容主要讲解“python random库如何使用demo”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“python random库如何使用demo”吧!python r...
    99+
    2023-07-05
  • Python标准库之Math,Random模块使用详解
    目录数学模块ceil -- 上取整floor -- 下取整四舍五入pow -- 幂运算sqrt -- 开平方运算fabs -- 绝对值modf -- 拆分整数小数copysign -...
    99+
    2024-04-02
  • python常用库random
    random是python自带的库,用来生成随机数,或随机取值等。 随机生成值 随机浮点数 random.random() random.random():生成[0, 1)之间的随机浮点数并返回 im...
    99+
    2023-10-27
    python
  • python中的random模块怎么使用
    在Python中,可以使用random模块来生成随机数。以下是一些常见的random模块的使用方法: 生成一个随机整数: imp...
    99+
    2024-03-04
    python random
  • 使用python random库的常见问题有哪些
    常见问题: 如何生成随机整数? 使用random.randint()函数可以生成指定范围内的随机整数。 如何生成随机浮点数...
    99+
    2024-02-29
    python
  • Python中的random函数如何使用
    这篇文章主要介绍了Python中的random函数如何使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python中的random函数如何使用文章都会有所收获,下面我们一起来看看吧。Python中的rando...
    99+
    2023-07-05
  • Python中random库有哪些常用函数
    这篇文章主要为大家展示了“Python中random库有哪些常用函数”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Python中random库有哪些常用函数”这篇文章吧。一 random库介绍在...
    99+
    2023-06-29
  • Python中的random函数实例详解
    Python中的random函数 random模块提供生成伪随机数的函数,在使用时需要导入random模块 1. random.random()最基本的随机函数,返回一个[0.0,1...
    99+
    2023-02-22
    Python random函数 Python中的 random
  • Python的random模块详解
    目录 1.random()函数 2.randint(a, b)函数 3.uniform(a, b)函数 4.choice(seq)函数 5.shuffle(seq)函数 6.sample(seq, k)函数 7.randrange([sta...
    99+
    2023-10-20
    python numpy 数据分析
  • Python中的随机函数random详解
    目录常规用法使用案例:常规用法 用法 作用 ...
    99+
    2024-04-02
  • Python中Numpy库的详细讲解
    本篇内容介绍了“Python中Numpy库的详细讲解”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!首先得了解下什么是Numpy,从我的印象中...
    99+
    2023-06-04
  • Python中的随机函数random怎么使用
    Python的random模块提供了许多随机数生成函数,可以用来生成随机数、随机选择等操作。下面是一些常用的random函数的使用方...
    99+
    2023-08-16
    Python random
  • python中random随机函数详解
    目录一、random基础二、实数分布2.1 对称分布2.2 指数分布2.3 Beta 分布2.4 Gamma 分布2.5 高斯分布2.6 对数正态分布2.7 正态分布2.8 冯&mi...
    99+
    2024-04-02
  • random模块如何在python中使用
    本篇文章为大家展示了random模块如何在python中使用,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1. random.random()用于生成一个0到1的随机浮点数: 0 <= n &...
    99+
    2023-06-06
  • Python中JSON的使用方法(超详细)
    目录1. JSON简介2. JSON语法规则3. JSON数据类型4. JSON对象5. JSON数组6. JSON中常用的方法6.1 json.dumps()6.2 json.lo...
    99+
    2022-11-13
    Python JSON使用 Python JSON基本使用 Python JSON
  • Python中的pathlib库使用详解
    目录1. pathlib库介绍2. pathlib库下Path类的基本使用2.1 获取文件名2.2 获取文件前缀和后缀2.3 获取文件的文件夹及上一级、上上级文件夹2.4 获取该文件...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作