您好,登录后才能下订单哦!
这篇文章主要介绍了Python3怎么实现随机生成一组不重复数并按行写入文件,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
思路:与随机数相关的函数都要使用到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怎么实现随机生成一组不重复数并按行写入文件”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。