第31天:Python random 模块

简介: 第31天:Python random 模块

random 模块


Python 提供的 random 模块实现了各种分布式的伪随机数生成器。该模块主要包含以下几种常用的函数。


random()函数


random()函数可以随机生成一个[0,1)的浮点数。例如:


import randomprint(random.random())
0.7258069853437111


randint(a,b)函数


randint(a,b)函数可以在指定范围内随机生成一个整数,其中参数a是下限,参数 b 是上限,生成的随机数n:a <= n <= b。例如:


import random  print(random.randint(5,50))
37


uniform(a,b)函数


uniform(a,b)函数可以在指定范围内随机生成一个浮点数,两个参数其中一个是上限,一个是下限。如果a > b,则生成的随机数n: b <= n <= a。如果 a


import randomprint(random.uniform(2,5))print(random.uniform(5,2))
4.4005557573520243.4262178434528874


sample(sequence, k)函数


sample(sequence, k)函数可以获取从总体序列或集合中选择的唯一元素的k长度列表。sample()函数不会修改原有序列,它主要用在无重复的随机抽样场景,实现从大量样本中快速进行抽样。例如:


import random   lst = [1,2,3,4,5]  print(random.sample(lst,4))  print(lst)
[5, 4, 3, 1][1, 2, 3, 4, 5]


randrange([start], stop[, step])函数


randrange()函数主要用于返回一个随机数,它有三个参数,其中第三个参数step是可选参数。具体区别如下:


  1. randrange([start], stop)可以在指定范围内随机生成一个整数,生成的随机数n:a <= n <= b。其中,参数start和参数stop是有要求的,必须小数在前大数在后,否则会报错。例如:


import randomprint(random.randrange(2,5))print(random.randrange(5,2))
3empty range for randrange()
  1. randrange([start], stop[, step])函数可以先从1到10中产生一个间隔是2的等差数列[1,3,5,7,9],再从中随机获取一个随机数。例如:



import randomprint(random.randrange(1,10,2))9


choice(sequence)函数


choice(sequence)函数可以从非空序列 sequence 中随机返回一个数,参数 sequence 表示一个有序类型,可以包含 list、tuple 等。例如:


import random  strlist = ['C++','C#','Java','Python']  strtemp = ('Do you love python')  print(random.choice(strlist))print(random.choice(strtemp))
Pythonv


shuffle(x[, random])函数


shuffle(x[, random])函数可以将一个有序列表中的元素打乱,再重新排序。例如:


import randomlst = ['A' , 'B', 'C', 'D', 'E' ]random.shuffle(lst)  print (lst)
['C', 'B', 'A', 'E', 'D']


总结


本节给大家介绍了 Python 中 random 模块的常用操作,当在实际开发中需要生成随机数时可以参考。


参考


[1] https://www.cnblogs.com/liangmingshen/p/8909376.html

[2] https://docs.python.org/zh-cn/3/library/random.html

示例代码:Python-100-days-day031

系列文章

   第30天:Python collections 模块详解    第29天:Python queue 模块详解    第28天:Python sys 模块详解    第27天:Python shutil 模块    第26天:Python os 模块详解    第25天:Python datetime 和 time    第24天:Python Standard Library 02    第23天:Python Standard Library 01    第22天:Python NameSpace & Scope    第21天:Web开发 Jinja2模板引擎    第0-20天:从 0 学习 Python 0-20 天合集


目录
相关文章
|
25天前
|
开发者 Python
如何在Python中管理模块和包的依赖关系?
在实际开发中,通常会结合多种方法来管理模块和包的依赖关系,以确保项目的顺利进行和可维护性。同时,要及时更新和解决依赖冲突等问题,以保证代码的稳定性和可靠性
42 4
|
5天前
|
Python
Python Internet 模块
Python Internet 模块。
100 74
|
23天前
|
算法 数据安全/隐私保护 开发者
马特赛特旋转算法:Python的随机模块背后的力量
马特赛特旋转算法是Python `random`模块的核心,由松本真和西村拓士于1997年提出。它基于线性反馈移位寄存器,具有超长周期和高维均匀性,适用于模拟、密码学等领域。Python中通过设置种子值初始化状态数组,经状态更新和输出提取生成随机数,代码简单高效。
104 63
|
24天前
|
测试技术 Python
手动解决Python模块和包依赖冲突的具体步骤是什么?
需要注意的是,手动解决依赖冲突可能需要一定的时间和经验,并且需要谨慎操作,避免引入新的问题。在实际操作中,还可以结合使用其他方法,如虚拟环境等,来更好地管理和解决依赖冲突😉。
|
24天前
|
持续交付 Python
如何在Python中自动解决模块和包的依赖冲突?
完全自动解决所有依赖冲突可能并不总是可行,特别是在复杂的项目中。有时候仍然需要人工干预和判断。自动解决的方法主要是提供辅助和便捷,但不能完全替代人工的分析和决策😉。
|
1月前
|
JSON Linux 数据格式
Python模块:从入门到精通,只需一篇文章!
Python中的模块是将相关代码组织在一起的单元,便于重用和维护。模块可以是Python文件或C/C++扩展,Python标准库中包含大量模块,如os、sys、time等,用于执行各种任务。定义模块只需创建.py文件并编写代码,导入模块使用import语句。此外,Python还支持自定义模块和包,以及虚拟环境来管理项目依赖。
Python模块:从入门到精通,只需一篇文章!
|
25天前
|
Python
Python的模块和包
总之,模块和包是 Python 编程中非常重要的概念,掌握它们可以帮助我们更好地组织和管理代码,提高开发效率和代码质量
37 5
|
24天前
|
数据可视化 Python
如何在Python中解决模块和包的依赖冲突?
解决模块和包的依赖冲突需要综合运用多种方法,并且需要团队成员的共同努力和协作。通过合理的管理和解决冲突,可以提高项目的稳定性和可扩展性
|
1月前
|
Python
在Python中,可以使用内置的`re`模块来处理正则表达式
在Python中,可以使用内置的`re`模块来处理正则表达式
46 5
|
1月前
|
Java 程序员 开发者
Python的gc模块
Python的gc模块
下一篇
DataWorks