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获取电脑硬件信息及状态的实现方法
Aug 29 Python
python使用mailbox打印电子邮件的方法
Apr 30 Python
python去除所有html标签的方法
May 05 Python
python面向对象_详谈类的继承与方法的重载
Jun 07 Python
基于使用paramiko执行远程linux主机命令(详解)
Oct 16 Python
Python获取二维矩阵每列最大值的方法
Apr 03 Python
浅谈Series和DataFrame中的sort_index方法
Jun 07 Python
Tornado实现多进程/多线程的HTTP服务详解
Jul 25 Python
完美解决pyinstaller打包报错找不到依赖pypiwin32或pywin32-ctypes的错误
Apr 01 Python
Python验证码截取识别代码实例
May 16 Python
Python OpenCV 彩色与灰度图像的转换实现
Jun 05 Python
Python 数据可视化之Matplotlib详解
Nov 02 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
如何用PHP实现插入排序?
2013/04/10 PHP
分享3个php获取日历的函数
2015/09/25 PHP
PHP实现限制域名访问的实现代码(本地验证)
2020/09/13 PHP
jQuery-ui中自动完成实现方法
2010/06/10 Javascript
JQueryiframe页面操作父页面中的元素与方法(实例讲解)
2013/11/19 Javascript
js传中文参数controller里获取参数乱码问题解决方法
2014/01/03 Javascript
基于jquery实现等比缩放图片
2014/12/03 Javascript
jQuery中next()方法用法实例
2015/01/07 Javascript
Jquery的基本对象转换和文档加载用法实例
2015/02/25 Javascript
快速学习AngularJs HTTP响应拦截器
2015/12/31 Javascript
javascript将中国数字格式转换成欧式数字格式的简单实例
2016/08/02 Javascript
jQuery基本过滤选择器用法示例
2016/09/09 Javascript
a标签跳转到指定div,jquery添加和移除class属性的实现方法
2016/10/10 Javascript
jquery实现input框获取焦点的简单实例
2017/01/26 Javascript
Mac系统下Webstorm快捷键整理大全
2017/05/28 Javascript
基于JavaScript实现评论框展开和隐藏功能
2017/08/25 Javascript
浅谈Vue2.0父子组件间事件派发机制
2018/01/08 Javascript
在小程序中使用Echart图表的示例代码
2018/08/02 Javascript
Python实现高效求解素数代码实例
2015/06/30 Python
python字典DICT类型合并详解
2017/08/17 Python
python之virtualenv的简单使用方法(必看篇)
2017/11/25 Python
pytorch构建网络模型的4种方法
2018/04/13 Python
windows下安装Python虚拟环境virtualenvwrapper-win
2019/06/14 Python
Django中create和save方法的不同
2019/08/13 Python
一款纯css3制作的2015年元旦雪人动画特效教程
2014/12/29 HTML / CSS
基于html5 DeviceOrientation 实现微信摇一摇功能
2015/09/25 HTML / CSS
SHEIN香港:价格实惠的女性时尚服装
2018/08/14 全球购物
Quiksilver荷兰官方网站:冲浪和滑雪板
2019/11/16 全球购物
项目经理任命书范本
2014/06/05 职场文书
质量提升方案
2014/06/16 职场文书
义和团口号
2014/06/17 职场文书
中学生社会实践活动总结
2014/07/03 职场文书
会计学习心得体会
2014/09/09 职场文书
餐饮服务食品安全承诺书
2015/04/29 职场文书
员工聘用合同范本
2015/09/21 职场文书
Tomcat弱口令复现及利用
2022/05/06 Servers