栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python中的那些随机操作

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python中的那些随机操作

前言

在实际工作中,我们难免会用到随机操作。例如年会抽奖,随机选择中奖用户;爬虫时,随机选择 user-agent 等。今天我们就一起来看看那些 Python 中的随机操作。

随机数 randint

以下代码实现生成随机整数(正负)。

import random
res1 = random.randint(-100,100)
print(res1)

执行结果:

PS C:UsersxxxDesktopstudy> & D:/Python37/python.exe test.py
-11
PS C:UsersxxxDesktopstudy> & D:/Python37/python.exe test.py
63
randrange

以下代码实现生成随机数(指定步长)。

import random
res2 = random.randrange(-100, 100,2)
print(res2)

执行结果:

PS C:UsersxxxDesktopstudy> & D:/Python37/python.exe test.py
-40
PS C:UsersxxxDesktopstudy> & D:/Python37/python.exe test.py
56

以上,你会发现生成的随机数都是在-100 到 100 之间的步长为 2 的数,即不会出现奇数。

random

random 会生成 0 到 1 之间的随机数,类型是 float。

import random
res3 = random.random()
print(res3)
print(type(res3))

执行结果:

PS C:UsersxxxDesktopstudy> & D:/Python37/python.exe test.py
0.49365074829039834

PS C:UsersxxxDesktopstudy> & D:/Python37/python.exe test.py
0.9803235033128287

uniform

uniform 会返回范围内的一个随机实数,类型为 float。

import random

res4 = random.uniform(-1.2,9.8)
print(res4)

执行结果:

PS C:UsersxxxDesktopstudy> & D:/Python37/python.exe test.py
5.61996222607611
PS C:UsersxxxDesktopstudy> & D:/Python37/python.exe test.py
-0.8188126541465378
随机选择 choice

choice 可以实现在待选对象中,随机选择一个元素。

import random

lst = ['xian','beijing','shanghai']
res5 = random.choice(lst)
print(res5)

执行结果:

PS C:UsersxxxDesktopstudy> & D:/Python37/python.exe test.py
shanghai
PS C:UsersxxxDesktopstudy> & D:/Python37/python.exe test.py
xian

其中,choice 的参数类型可以为列表,元组、字符串等。

随机排序 shuffle

shuffle 可以实现将一个列表,字符串进行随机排序。

import random

lst = ['xian','beijing','shanghai']

random.shuffle(lst)
print(lst)

执行结果:

PS C:UsersxxxDesktopstudy> & D:/Python37/python.exe test.py
['beijing', 'xian', 'shanghai']
PS C:UsersxxxDesktopstudy> & D:/Python37/python.exe test.py
['shanghai', 'beijing', 'xian']

注:shuffle 方法没有返回值,直接作用在原对象上。

写在最后

关于 seed 方法,它实际上是 random.Random 类实例化时的构造方法,作用是在每个选择前重新播种,以获取可重复的随机数流。

往期推荐

超全的 Python 库,赶快收藏!

loguru | Python日志神器

23 个非常实用的 Shell 脚本

Celery | 任务队列神器

超好用的 Chrome 插件!

Doctest | 超简单的单元测试工具

9 种方法 | 提高国内访问 GitHub 的速度

OS | 被你小看的实用库!

shutil | 高阶文件操作

来了,他来了,他终于来了!

点亮在看!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/833799.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号