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 执行字符串表达式函数(eval exec execfile)
Aug 11 Python
使用PDB简单调试Python程序简明指南
Apr 25 Python
在python中将字符串转为json对象并取值的方法
Dec 31 Python
pytorch 修改预训练model实例
Jan 18 Python
基于Python实现人脸自动戴口罩系统
Feb 06 Python
python序列类型种类详解
Feb 26 Python
python判断两个序列的成员是否一样的实例代码
Mar 01 Python
python可迭代对象去重实例
May 15 Python
Python新手如何理解循环加载模块
May 29 Python
python关于倒排列的知识点总结
Oct 13 Python
如何用PyPy让你的Python代码运行得更快
Dec 02 Python
TensorFlow2.0使用keras训练模型的实现
Feb 20 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速度全攻略
2006/10/09 PHP
如何解决CI框架的Disallowed Key Characters错误提示
2013/07/05 PHP
php简单smarty入门程序实例
2015/06/11 PHP
Linux平台PHP5.4设置FPM线程数量的方法
2016/11/09 PHP
javascript入门基础之私有变量
2010/02/23 Javascript
基于jquery的图片轮播 tab切换组件
2012/07/19 Javascript
Extjs4 关于Store的一些操作(加载/回调/添加)
2013/04/18 Javascript
jqgrid 表格数据导出实例
2013/11/21 Javascript
Javascript核心读书有感之表达式和运算符
2015/02/11 Javascript
浅谈javascript获取元素transform参数
2015/07/24 Javascript
JavaScript模块规范之AMD规范和CMD规范
2015/10/27 Javascript
jQuery为某个div加入行样式
2017/06/09 jQuery
详解win7 cmd执行vue不是内部命令的解决方法
2017/07/27 Javascript
JavaScript常用数组操作方法,包含ES6方法
2020/05/10 Javascript
微信小程序实现Session功能及无法获取session问题的解决方法
2019/05/07 Javascript
基于jquery实现的tab选项卡功能示例【附源码下载】
2019/06/10 jQuery
RxJS的入门指引和初步应用
2019/06/15 Javascript
JavaScript 接口原理与用法实例详解
2020/05/12 Javascript
vue3.0 上手体验
2020/09/21 Javascript
[00:43]FTP典藏礼包 DOTA2三大英雄霸气新套装
2014/03/21 DOTA
[01:02:25]2014 DOTA2华西杯精英邀请赛5 24 NewBee VS VG
2014/05/25 DOTA
python 示例分享---逻辑推理编程解决八皇后
2014/07/20 Python
Python随手笔记第一篇(2)之初识列表和元组
2016/01/23 Python
win8下python3.4安装和环境配置图文教程
2018/07/31 Python
Python读取指定日期邮件的实例
2019/02/01 Python
Python3标准库之functools管理函数的工具详解
2020/02/27 Python
opencv python 图片读取与显示图片窗口未响应问题的解决
2020/04/24 Python
python/golang实现循环链表的示例代码
2020/09/14 Python
Python Unittest原理及基本使用方法
2020/11/06 Python
使用CSS3创建动态菜单效果
2015/07/10 HTML / CSS
中国高端鲜花第一品牌:roseonly(一生只送一人)
2017/02/12 全球购物
毕业实习评语
2014/02/10 职场文书
个性车贴标语
2014/06/24 职场文书
我的中国梦演讲稿800字
2014/08/19 职场文书
陈安之励志演讲稿
2014/08/21 职场文书
复试通知单模板
2015/04/24 职场文书