Python中的那些随机操作 | Python 主题月

简介: Python中的那些随机操作 | Python 主题月

前言


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


随机数


randint


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


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


执行结果:


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


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


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


执行结果:


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
复制代码


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


random


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


import random
res3 = random.random()
print(res3)
print(type(res3))
复制代码


执行结果:


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。


import random
res4 = random.uniform(-1.2,9.8)
print(res4)
复制代码


执行结果:


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 可以实现在待选对象中,随机选择一个元素。


import random
lst = ['xian','beijing','shanghai']
res5 = random.choice(lst)
print(res5)
复制代码


执行结果:


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


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


import random
lst = ['xian','beijing','shanghai']
random.shuffle(lst)
print(lst)
复制代码


执行结果:


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 类实例化时的构造方法,作用是在每个选择前重新播种,以获取可重复的随机数流。

相关文章
|
1月前
|
数据格式 Python
如何使用Python的Pandas库进行数据透视图(melt/cast)操作?
Pandas的`melt()`和`pivot()`函数用于数据透视。基本步骤:导入pandas,创建DataFrame,然后使用这两个函数转换数据格式。示例代码展示了如何通过`melt()`转为长格式,再用`pivot()`恢复为宽格式。输入数据是包含&#39;Name&#39;和&#39;Age&#39;列的DataFrame,最终结果经过转换后呈现出不同的布局。
40 6
|
1月前
|
数据采集 自然语言处理 算法
如何使用Python的Gensim库进行自然语言处理和主题建模?
使用Gensim库进行自然语言处理和主题建模,首先通过`pip install gensim`安装库,然后导入`corpora`, `models`等模块。对数据进行预处理,包括分词和去除停用词。接着,创建字典和语料库,使用`Dictionary`和`doc2bow`。之后,应用LDA算法训练模型,设置主题数量并创建`LdaModel`。最后,打印每个主题的主要关键词。可以根据需求调整参数和选择不同算法。
26 0
|
1月前
|
Unix Shell Linux
赞!优雅的Python多环境管理神器!易上手易操作!
赞!优雅的Python多环境管理神器!易上手易操作!
|
1月前
|
SQL 关系型数据库 MySQL
Python怎么操作Mysql数据库
Python怎么操作Mysql数据库
51 0
|
18天前
|
人工智能 机器人 C++
【C++/Python】Windows用Swig实现C++调用Python(史上最简单详细,80岁看了都会操作)
【C++/Python】Windows用Swig实现C++调用Python(史上最简单详细,80岁看了都会操作)
|
1月前
|
开发者 Python
Python库中关于时间的常见操作
Python库中关于时间的常见操作
32 0
|
3天前
|
JSON 数据格式 索引
python 又一个点运算符操作的字典库:Munch
python 又一个点运算符操作的字典库:Munch
20 0
|
7天前
|
索引 Python
如何使用Python的Pandas库进行数据透视表(pivot table)操作?
使用Pandas在Python中创建数据透视表的步骤包括:安装Pandas库,导入它,创建或读取数据(如DataFrame),使用`pd.pivot_table()`指定数据框、行索引、列索引和值,计算聚合函数(如平均分),并可打印或保存结果到文件。这允许对数据进行高效汇总和分析。
10 2
|
14天前
|
数据采集 JSON 网络协议
「Python系列」Python urllib库(操作网页URL对网页的内容进行抓取处理)
`urllib` 是 Python 的一个标准库,用于打开和读取 URLs。它提供了一组模块,允许你以编程方式从网络获取数据,如网页内容、文件等。
35 0
|
24天前
|
Python
python使用tkinter库,封装操作excel为GUI程序
python使用tkinter库,封装操作excel为GUI程序