十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
这篇文章主要介绍了Python3怎么实现随机生成一组不重复数并按行写入文件,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
创新互联-专业网站定制、快速模板网站建设、高性价比长兴网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式长兴网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖长兴地区。费用合理售后完善,10年实体公司更值得信赖。思路:与随机数相关的函数都要使用到random这个系统库,查看相关的开发文档发现random库下面有个sample(seq,n)函数比较符合,能在在一个序列中随机选择n个不重复的数,并返回一个list,接下来就是将一个list按行输出到一个文本文件中
过程:
1、导入random库
import random
2、生成一个自己自己想要的范围的序列,笔者是需要在1~300000随机选择900个数字,遂想使用range()函数生成一个序列,但是在使用的过程就懵逼了,例如range(1,100),返回的不是一个list,直接返回range(),经过查阅开发文档才 发现python2中的range返回的是一个list,python3中的range返回的是一个迭代值,for i in range(1,10)在python2和python3中均可以使用,但是要生成1-100的列表,就需要用list(range(1,100))。
(在不清楚Python2和Python3的一些函数和语法的差别时常因此而走不少弯路,希望和我一样的初学者在学习Python时要时常注意这一点),于是生成范围序列:
seq = list(range(1,300000))
3、接着即使用sample()函数生成一个随机序列:
sample在帮助文档的解释:random.sample(population,k)
Return a k length list of unique elements chosen from the population sequence or set. Used forrandom sampling without replacement.
a = random.sample(seq,900)
4、然后再对输出的list排下序(如果有需要的话,否则可以省略这一步):
a.sort()
5、写入文件,因为要换行输出所以输出前需要对list进行处理加入换行符
R='\n'.join(str(i) for i in a)
6、写入到文件
open('test.txt','w').write(R)
感谢你能够认真阅读完这篇文章,希望小编分享的“Python3怎么实现随机生成一组不重复数并按行写入文件”这篇文章对大家有帮助,同时也希望大家多多支持创新互联成都网站设计公司,关注创新互联成都网站设计公司行业资讯频道,更多相关知识等着你来学习!
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、网站设计器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。