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里将list中元素依次向前移动一位
Sep 12 Python
Python多维/嵌套字典数据无限遍历的实现
Nov 04 Python
python获取当前运行函数名称的方法实例代码
Apr 06 Python
Python 常用模块 re 使用方法详解
Jun 06 Python
pandas.read_csv参数详解(小结)
Jun 21 Python
python之生产者消费者模型实现详解
Jul 27 Python
python安装本地whl的实例步骤
Oct 12 Python
Pytorch高阶OP操作where,gather原理
Apr 30 Python
python3+selenium获取页面加载的所有静态资源文件链接操作
May 04 Python
python实现计算图形面积
Feb 22 Python
python字符串的一些常见实用操作
Apr 06 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 CURL用法的深入分析
2013/06/09 PHP
CodeIgniter连贯操作的底层原理分析
2016/05/17 PHP
PHP登录验证码的实现与使用方法
2016/07/07 PHP
curl 出现错误的调试方法(必看)
2017/02/13 PHP
PHP大文件切割上传功能实例分析
2019/07/01 PHP
jquery控制listbox中项的移动并排序
2009/11/12 Javascript
高亮显示web页表格行的javascript代码
2010/11/19 Javascript
js获取下拉列表的值和元素个数示例
2014/05/07 Javascript
24款热门实用的jQuery插件推荐
2014/12/24 Javascript
js实现可得到不同颜色值的颜色选择器实例
2015/02/28 Javascript
AngularJS入门教程之多视图切换用法示例
2016/11/02 Javascript
微信小程序 后台https域名绑定和免费的https证书申请详解
2016/11/10 Javascript
node.js中的事件处理机制详解
2016/11/26 Javascript
浅谈js在html中的加载执行顺序,多个jquery ready执行顺序
2016/11/26 Javascript
js正则表达式验证表单【完整版】
2017/03/06 Javascript
JS 使用 window对象的print方法实现分页打印功能
2018/05/16 Javascript
vue通过cookie获取用户登录信息的思路详解
2018/10/30 Javascript
vue 强制组件重新渲染(重置)的两种方案
2019/10/29 Javascript
vue-iview动态新增和删除的方法
2020/06/17 Javascript
微信小程序实现购物车小功能
2020/12/30 Javascript
简单分析Python中用fork()函数生成的子进程
2015/05/04 Python
python+opencv实现动态物体识别
2018/01/09 Python
Python完成哈夫曼树编码过程及原理详解
2019/07/29 Python
Python+unittest+requests 接口自动化测试框架搭建教程
2020/10/09 Python
利用CSS3实现自定义滚动条代码分享
2016/08/18 HTML / CSS
国际经济贸易专业推荐信
2013/11/06 职场文书
两年的个人工作自我评价
2014/01/10 职场文书
事业单位请假制度
2014/01/13 职场文书
网络信息安全承诺书
2014/03/26 职场文书
读书活动总结
2014/04/28 职场文书
说明书范文
2014/05/07 职场文书
化学教育专业求职信
2014/07/08 职场文书
怒海潜将观后感
2015/06/11 职场文书
2015初中团委工作总结
2015/07/28 职场文书
《称赞》教学反思
2016/02/17 职场文书
Django项目配置Memcached和Redis, 缓存选择哪个更有优势
2021/04/06 Python