有问题,不要怕!点击推文底部的“阅读原文”,下载爬虫俱乐部用户问题登记表,按要求填写后发送至statatraining@163.com邮箱
古语有云,樵夫不误刀。仅仅通过学习基本的python语法来编写具有实际生产力的代码是不够的。除此之外,python中还有大量的标准库和第三方库,它们并不像内置函数那样必不可少,而是可以作为解决特定问题的利器。所以爬虫俱乐部会选择一些非常实用、功能强大的标准库或者第三方库来介绍,让大家在很短的空间内了解python强大的扩展功能。同时需要注意的是,由于篇幅有限,我们无法在标准库中介绍每一个函数或方法,只能选择最重要、最实用的部分。如果有兴趣进一步了解,可以通过python官网搜索库名获取更多信息。
https://docs.python.org/3.6/library/random.html
在本期中,我们将介绍python的一个基本标准库:random。顾名思义,随机库提供了各种生成随机数的方法,既可以生成整数随机数和浮点随机数,也可以生成满足正态分布和指数分布要求的随机数。让我们一起来看看详细的案例
由于随机库属于标准库,所以可以在py文件中直接使用import random。
生成整数随机数
给定1-100范围内的正整数,如何生成其范围内的随机整数?随机使用随机点函数
import randomrandnum = random . randint(1,100)
该函数用于生成一个在[1,100]范围内的随机整数。如果只想从1到100之间的奇数中随机选择呢?随机使用随机范围函数
randnum = random.randrange( 1,100,2)
那么,如果从给定的列表中随机选择一个数字呢?随机使用选择函数
randnum = random.choice([ 1,8,3,0,6])
此函数将列表指定为参数,并随机返回列表中的任何元素。
生成浮点随机数
在工作中,我们也会满足生成0-1范围内随机小数的要求。这时我们可以在random中使用随机函数,它会随机生成一个0-1之间的浮点数,精度为16位。从这个函数和随机库的同名可以看出,它起着非常重要的作用。事实上,生成0-1之间的浮点数确实是一个非常常见的要求。
randnum = random.random()
如果我们需要两个数字之间的浮点数呢?除了我们可以人工处理随机函数的结果之外,随机库还提供了相应的方法:一致函数
randnum = random.uniform()
列表无序和抽样
随机库不仅可以生成随机数,还可以对现有列表进行乱序操作。换句话说,随机可以满足任何与随机数有点关系的要求。这个函数也称为shuffle,可以对所有变量序列执行无序操作。
a = [ 1,2,3,4,5,6,7,8,9]随机播放
可见洗牌结束后,A名单本身是被打乱的。如果我们想得到一个乱序版本的列表而不是打乱原来的版本,可以使用sample函数,它不能重复提取指定的集合,也不能指定样本大小。如果样本大小为设定容量本身,则实现无序提取。该函数通常用于随机采样,无需重复。在不破坏原始序列的情况下,会返回一个新序列。从一个整数区间中随机选取一定数量的整数,使用类似于sample (range (1000000),k = 60)的方法,非常有效,而且节省空。如果k大于集合的长度,将弹出一个ValueError异常。
a = [ 1,2,3,4,5,6,7,8,9]b = random.sample(a,len(a))print(a)print(b)
情形
生成由数字和英文大写字母组成的四位随机验证码
这种情况下,我们先进行一个for循环,让I从0到3,有1/4的概率随机数不等于I,此时的字符是数字字符,否则就是字母字符。Chr函数将一个整数转换成其对应的ASCII字符。英文大写字母的ASCII码范围是65-90
check code = ' fori in range(4):current = random . rand range(0,4) ifcurrent!= i: temp = chr(random.randint(65,90)) else: temp = random.randint(0,9)check code+= str(temp)print(check code)
文字编辑:何学泽
技术编辑:刘贝贝
关于我们
微信微信官方账号“Crawler Club”分享实用stata命令,欢迎转载和奖励。爬虫俱乐部是由李春涛教授带领的研究生和本科生组成的大数据分析和数据挖掘团队。
提交要求:
1)必须是原创,禁止抄袭;
2)一定要准确,详细,有举例和截图;
注意事项:
1)所有投稿都会经过微信官方账号运营团队成员审核,审核通过后才能录用。一旦被录用,作者将在推特上签名,并获得奖励。
2)请在邮件中注明提交,邮件名称为“提交”+“推文名称”。
3)应读者要求,现提供付费问答服务。如果遇到关于stata分析数据的问题,可以在微信官方账号里问,只需要付一点小报酬。我们会在后面的推文中回答他们。
1.《python随机生成数字 python标准库:random生成随机数》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。
2.《python随机生成数字 python标准库:random生成随机数》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/keji/1139108.html