Python3 实现随机生成一组不重复数并按行写入文件


Posted in Python onApril 09, 2018

笔主在做一个项目要生成一组随机有序的整型数字,并按行输出到文本文件使用,恰好开始学习Python3,遂决定直接使用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)

总结:

Python作为一门解释型语言相对自己之前经常使用的C/C++相对要方便,相对简单的工作直接在bash或者CMD下可直接使用,方便快捷,可以提高工作效率。

以上这篇Python3 实现随机生成一组不重复数并按行写入文件就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python实现简单状态框架的方法
Mar 19 Python
python 获取文件下所有文件或目录os.walk()的实例
Apr 23 Python
利用Python读取txt文档的方法讲解
Jun 23 Python
python绘制直方图和密度图的实例
Jul 08 Python
浅析PyTorch中nn.Linear的使用
Aug 18 Python
python-opencv获取二值图像轮廓及中心点坐标的代码
Aug 27 Python
详解python statistics模块及函数用法
Oct 27 Python
对tensorflow中的strides参数使用详解
Jan 04 Python
Python +Selenium解决图片验证码登录或注册问题(推荐)
Feb 09 Python
selenium+python配置chrome浏览器的选项的实现
Mar 18 Python
Python3 filecmp模块测试比较文件原理解析
Mar 23 Python
Selenium关闭INFO:CONSOLE提示的解决
Dec 07 Python
python生成不重复随机数和对list乱序的解决方法
Apr 09 #Python
解决Python的str强转int时遇到的问题
Apr 09 #Python
Python利用matplotlib.pyplot绘图时如何设置坐标轴刻度
Apr 09 #Python
Python序列循环移位的3种方法推荐
Apr 09 #Python
python中将一个全部为int的list 转化为str的list方法
Apr 09 #Python
python修改list中所有元素类型的三种方法
Apr 09 #Python
python 获取list特定元素下标的实例讲解
Apr 09 #Python
You might like
一个ubbcode的函数,速度很快.
2006/10/09 PHP
PDO版本问题 Invalid parameter number: no parameters were bound
2013/01/06 PHP
PHP实现删除非站内外部链接实例代码
2014/06/17 PHP
phpstorm 正则匹配删除空行、注释行(替换注释行为空行)
2018/01/21 PHP
js实现上传图片之上传前预览图片
2013/03/25 Javascript
基于mouseout和mouseover等类似事件的冒泡问题解决方法
2013/11/18 Javascript
jquery禁用右键单击功能屏蔽F5刷新
2014/03/17 Javascript
基于nodejs+express(4.x+)实现文件上传功能
2015/11/23 NodeJs
jquery分隔Url的param方法(推荐)
2016/05/25 Javascript
jQuery实现图像旋转动画效果
2016/05/29 Javascript
js中编码函数:escape,encodeURI与encodeURIComponent详解
2017/03/21 Javascript
Angular2使用Augury来调试Angular2程序
2017/05/21 Javascript
js实现QQ面板拖拽效果(慕课网DOM事件探秘)(全)
2017/09/19 Javascript
VUE element-ui 写个复用Table组件的示例代码
2017/11/18 Javascript
vue拖拽组件使用方法详解
2018/12/01 Javascript
scrapyd schedule.json setting 传入多个值问题
2019/08/07 Javascript
vue 验证码界面实现点击后标灰并设置div按钮不可点击状态
2019/10/28 Javascript
node事件循环和process模块实例分析
2020/02/14 Javascript
vue webpack build资源相对路径的问题及解决方法
2020/06/04 Javascript
Python数据分析之双色球中蓝红球分析统计示例
2018/02/03 Python
python3爬取数据至mysql的方法
2018/06/26 Python
Python函数中参数是传递值还是引用详解
2019/07/02 Python
在Python3 numpy中mean和average的区别详解
2019/08/24 Python
wxPython实现带颜色的进度条
2019/11/19 Python
音频处理 windows10下python三方库librosa安装教程
2020/06/20 Python
随机分配座位,共50个学生,使学号相邻的同学座位不能相邻
2014/01/18 面试题
管理科学大学生求职信
2013/11/13 职场文书
销售经理工作职责
2014/02/03 职场文书
课程改革实施方案
2014/03/16 职场文书
财务内勤岗位职责
2014/04/17 职场文书
小学英语教师先进事迹
2014/05/28 职场文书
金融专业毕业生自荐信
2014/06/26 职场文书
在校大学生自我评价范文
2014/09/12 职场文书
网络营销计划
2015/01/17 职场文书
难以忽视的真相观后感
2015/06/05 职场文书
祝福语集锦:给妹妹结婚的祝福语
2019/12/18 职场文书