前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python的那些随机操作

Python的那些随机操作

作者头像
Python研究所
发布2022-06-17 08:28:20
3040
发布2022-06-17 08:28:20
举报
文章被收录于专栏:大飞的部落阁大飞的部落阁

前言

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

随机数

randint

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

代码语言:javascript
复制
import random
res1 = random.randint(-100,100)
print(res1)

执行结果:

代码语言:javascript
复制
PS C:\Users\xxx\Desktop\study> & D:/Python37/python.exe test.py
-11
PS C:\Users\xxx\Desktop\study> & D:/Python37/python.exe test.py
63

randrange

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

代码语言:javascript
复制
import random
res2 = random.randrange(-100, 100,2)
print(res2)

执行结果:

代码语言:javascript
复制
PS C:\Users\xxx\Desktop\study> & D:/Python37/python.exe test.py
-40
PS C:\Users\xxx\Desktop\study> & D:/Python37/python.exe test.py
56

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

random

random 会生成 01 之间的随机数,类型是 float

代码语言:javascript
复制
import random
res3 = random.random()
print(res3)
print(type(res3))

执行结果:

代码语言:javascript
复制
PS C:\Users\xxx\Desktop\study> & D:/Python37/python.exe test.py
0.49365074829039834
<class 'float'>
PS C:\Users\xxx\Desktop\study> & D:/Python37/python.exe test.py
0.9803235033128287
<class 'float'>

uniform

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

代码语言:javascript
复制
import random

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

执行结果:

代码语言:javascript
复制
PS C:\Users\xxx\Desktop\study> & D:/Python37/python.exe test.py
5.61996222607611
PS C:\Users\xxx\Desktop\study> & D:/Python37/python.exe test.py
-0.8188126541465378

随机选择

choice

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

代码语言:javascript
复制
import random

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

执行结果:

代码语言:javascript
复制
PS C:\Users\xxx\Desktop\study> & D:/Python37/python.exe test.py
shanghai
PS C:\Users\xxx\Desktop\study> & D:/Python37/python.exe test.py
xian

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

随机排序

shuffle

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

代码语言:javascript
复制
import random

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

random.shuffle(lst)
print(lst)

执行结果:

代码语言:javascript
复制
PS C:\Users\xxx\Desktop\study> & D:/Python37/python.exe test.py
['beijing', 'xian', 'shanghai']
PS C:\Users\xxx\Desktop\study> & D:/Python37/python.exe test.py
['shanghai', 'beijing', 'xian']

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

写在最后

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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 随机数
    • randint
      • randrange
        • random
          • uniform
          • 随机选择
            • choice
            • 随机排序
              • shuffle
              • 写在最后
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档