首页 > Python资料 博客日记
python 标准库random生成随机数
2025-01-06 16:00:05Python资料围观28次
Python资料网推荐python 标准库random生成随机数这篇文章给大家,欢迎收藏Python资料网享受知识的乐趣
当前版本:
- Python 3.8.4
文章目录如下
1. random的特点
random 提供了生成伪随机数的功能,可以用于各种随机相关的操作,如生成随机数、洗牌、选择随机元素等。常用的内置方法如下:
【随机整数】
import random
random.randint(x, y) # x~y之间的随机整数
random.randrange(start, stop[, step]) # 指定范围内的随机整数,可指定起始值、终止值和步长。
【随机浮点数】
import random
random.random() # 0~1随机浮点数
random.uniform(x, y) # x~y之间的随机浮点数
【随机元素】
import random
random.choice(seq) # 序列中随机选择一个元素
random.shuffle(seq) # 随机打乱序列中的元素的顺序
2. random的用法
2.1. 随机整数
随机整数一般通过 randint 或 randrange 来获取,它们的范围由平台位数决定:
32位范围:(-2^31) ~ (2^31 - 1) # -2147483648 ~ 2147483647
64位范围:(-2^63) ~ (2^63 - 1) # -9223372036854775808 ~ 9223372036854775807
常用的 randint 语法:
random.randint(开始大小, 结束大小)
比如指定获取 0~1
random.randint(0, 1)
生成6位随机数
random.randint(100000, 999999)
在一些特定的场合需要指定步长可以利用randrange来获取
random.randrange(开始大小,结束大小,步长)
比如取1~100的随机奇数
random.randrange(1,100,2)
取1~100随机偶数
random.randrange(0,100,2)
2.2. 随机小数
- 随机小数可以通过 random 或 uniform 获取
【案例一】生成0~1的随机小数 random
random.random() # 不接受参数
也支持运算(生成1~100的小数)
【案例二】按范围生成随机小数 uniform
random.uniform(1, 10) # 指定开始值和结束值
【案例三】指定小数位为2 round
round(random.uniform(1, 10), 2)
2.3. 随机元素
【案例一】通过 choice 来获取一个随机元素
L = [ "AAA", "BBB", 200, "CCC" ]
random.choice(L) # 传入一个序列
【案例二】通过 shuffle 将序列的元素顺序打乱
L = [ "AAA", "BBB", 200, "CCC" ]
random.shuffle(L) # 传入一个序列
【案例三】通过 sample 随机获取n个元素
L = [1, 2, 3, 4, 5]
random.sample(L, 3)
2.4. 随机字符串
choices 方法可以通过自定义的字符来生成一个列表,语法如下:
random.choices('自定义字符', k=长度)
例如
random.choices('abcdef', k=3)
- 随机从 'abcdef' 中选取3个字符组成一个列表
生成字符串的话需要借助 join 函数
''.join(random.choices('abcdef', k=3))
如果希望内容丰富一点,那就自定义多一些字符
random_string = ''.join(random.choices('abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789', k=6))
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:jacktools123@163.com进行投诉反馈,一经查实,立即删除!
标签:
相关文章
最新发布
- python SQLAlchemy ORM——从零开始学习 01 安装库
- Python 入门教程(2)搭建环境 | 2.3、VSCode配置Python开发环境
- Django 3 Web应用开发实战PDF、EPUB免费下载
- Python的元组和字典知识点(超详细教学)
- 小波变换算法详解(附Python和C++代码)
- WxPython跨平台开发框架之使用PyInstaller 进行打包处理
- 【Python】正则表达式
- manim边做边学--动画组合
- Outlook不支持账号密码改OAuth2.0认证方式获取outlook邮箱收件箱以及附件(python)
- Python毕业设计选题:基于Python的社区爱心养老管理系统设计与实现_django
点击排行
- 版本匹配指南:Numpy版本和Python版本的对应关系
- 版本匹配指南:PyTorch版本、torchvision 版本和Python版本的对应关系
- Python 可视化 web 神器:streamlit、Gradio、dash、nicegui;低代码 Python Web 框架:PyWebIO
- 相关性分析——Pearson相关系数+热力图(附data和Python完整代码)
- Anaconda版本和Python版本对应关系(持续更新...)
- Python与PyTorch的版本对应
- Windows上安装 Python 环境并配置环境变量 (超详细教程)
- Python pyinstaller打包exe最完整教程