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 27 Python
python抽象基类用法实例分析
Jun 04 Python
python实现汉诺塔方法汇总
Jul 25 Python
django之session与分页(实例讲解)
Nov 13 Python
详解Python中的动态属性和特性
Apr 07 Python
使用sklearn之LabelEncoder将Label标准化的方法
Jul 11 Python
python实现统计文本中单词出现的频率详解
May 20 Python
python中time库的实例使用方法
Oct 31 Python
Django 拼接两个queryset 或是两个不可以相加的对象实例
Mar 28 Python
Django框架获取form表单数据方式总结
Apr 22 Python
Python3与fastdfs分布式文件系统如何实现交互
Jun 23 Python
解决TensorFlow程序无限制占用GPU的方法
Jun 30 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
PHPStrom 新建FTP项目以及在线操作教程
2016/10/16 PHP
ThinkPHP 整合Bootstrap Ajax分页样式
2016/12/23 PHP
Yii1.1中通过Sql查询进行的分页操作方法
2017/03/16 PHP
PHP基于openssl实现的非对称加密操作示例
2019/01/11 PHP
PHP单元测试配置与使用方法详解
2019/12/27 PHP
jQuery下通过$.browser来判断浏览器.
2011/04/05 Javascript
6款新颖的jQuery和CSS3进度条插件推荐
2013/03/05 Javascript
JavaScript实现多维数组的方法
2013/11/20 Javascript
JQuery实现绚丽的横向下拉菜单
2013/12/19 Javascript
解析jQuery的三种bind/One/Live事件绑定使用方法
2013/12/30 Javascript
jQuery+PHP实现可编辑表格字段内容并实时保存
2015/10/09 Javascript
javascript学习笔记整理(概述、变量、数据类型简介)
2015/10/25 Javascript
深入理解JavaScript中的对象复制(Object Clone)
2016/05/18 Javascript
JavaScript 数组- Array的方法总结(推荐)
2016/07/21 Javascript
使用json来定义函数,在里面可以定义多个函数的实现方法
2016/10/28 Javascript
详解Javascript数据类型的转换规则
2016/12/12 Javascript
JS正则RegExp.test()使用注意事项(不具有重复性)
2016/12/28 Javascript
Javascript for in的缺陷总结
2017/02/03 Javascript
Node.js使用orm2进行update操作时关联字段无法修改的解决方法
2017/06/13 Javascript
KOA+egg.js集成kafka消息队列的示例
2018/11/09 Javascript
[04:26]DOTA2上海特锦赛小组赛第二日 TOP10精彩集锦
2016/02/27 DOTA
Django Rest framework之认证的实现代码
2018/12/17 Python
python 并发编程 多路复用IO模型详解
2019/08/20 Python
python实现根据文件格式分类
2019/10/31 Python
python基于plotly实现画饼状图代码实例
2019/12/16 Python
Jupyter Notebook 实现正常显示中文和负号
2020/04/24 Python
python中str内置函数用法总结
2020/12/27 Python
python中的unittest框架实例详解
2021/02/05 Python
荷兰的时尚市场:To Be Dressed
2019/05/06 全球购物
Nasty Gal英国:美国女性服饰销售网站
2021/03/02 全球购物
房地产融资计划书
2014/01/10 职场文书
体育课外活动总结
2014/07/08 职场文书
大学生村官入党自传
2015/06/26 职场文书
劳务派遣管理制度(样本)
2019/08/23 职场文书
解决golang 关于全局变量的坑
2021/05/06 Golang
Python中json.load()和json.loads()有哪些区别
2021/06/07 Python