在实际工作中,我们难免会用到随机操作。例如年会抽奖,随机选择中奖用户;爬虫时,随机选择 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 63randrange
以下代码实现生成随机数(指定步长)。
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
random以上,你会发现生成的随机数都是在-100 到 100 之间的步长为 2 的数,即不会出现奇数。
random 会生成 0 到 1 之间的随机数,类型是 float。
import random res3 = random.random() print(res3) print(type(res3))
执行结果:
PS C:UsersxxxDesktopstudy> & D:/Python37/python.exe test.py 0.49365074829039834uniformPS C:UsersxxxDesktopstudy> & D:/Python37/python.exe test.py 0.9803235033128287
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
随机排序 shuffle其中,choice 的参数类型可以为列表,元组、字符串等。
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 | 高阶文件操作
来了,他来了,他终于来了!
点亮在看!



