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 相关文章推荐
Pyramid将models.py文件的内容分布到多个文件的方法
Nov 27 Python
将Django框架和遗留的Web应用集成的方法
Jul 24 Python
基于python实现微信模板消息
Dec 21 Python
windows下python之mysqldb模块安装方法
Sep 07 Python
pandas中Timestamp类用法详解
Dec 11 Python
matplotlib绘制动画代码示例
Jan 02 Python
把csv文件转化为数组及数组的切片方法
Jul 04 Python
padas 生成excel 增加sheet表的实例
Dec 11 Python
解决py2exe打包后,总是多显示一个DOS黑色窗口的问题
Jun 21 Python
基于python调用psutil模块过程解析
Dec 20 Python
Tensorflow Summary用法学习笔记
Jan 10 Python
Python表达式的优先级详解
Feb 18 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
PHPWind 发帖回帖Api PHP版打包下载
2010/02/08 PHP
php 函数使用方法与函数定义方法
2010/05/09 PHP
PHP中读取照片exif信息的方法
2014/08/20 PHP
PHP制作用户注册系统
2015/10/23 PHP
Zend Framework教程之Resource Autoloading用法实例
2016/03/08 PHP
PHP-FPM实现性能优化
2016/03/31 PHP
PHP在线调试执行的实现方法(附demo源码)
2016/04/28 PHP
SAE实时日志接口SDK用法示例
2016/10/09 PHP
Ubuntu上安装yaf扩展的方法
2018/01/29 PHP
PHP将整数数字转换为罗马数字实例分享
2019/03/17 PHP
Laravel框架实现即点即改功能的方法分析
2019/10/31 PHP
JQuery的html(data)方法与<script>脚本块的解决方法
2010/03/09 Javascript
JavaScript中使用replace结合正则实现replaceAll的效果
2010/06/04 Javascript
基于jquery的表格排序
2010/09/11 Javascript
自己动手开发jQuery插件教程
2011/08/25 Javascript
JavaScript定义类的几种方式总结
2014/01/06 Javascript
使用js实现数据格式化
2014/12/03 Javascript
js验证真实姓名与身份证号是否匹配
2015/10/13 Javascript
Javascript自执行匿名函数(function() { })()的原理浅析
2016/05/15 Javascript
js实现图片淡入淡出切换简易效果
2016/08/22 Javascript
Node.js和Express简单入门介绍
2017/03/24 Javascript
分享Bootstrap简单表格、表单、登录页面
2017/08/04 Javascript
iview中Select 选择器多选校验方法
2018/03/15 Javascript
详解.vue文件中style标签的几个标识符
2018/07/17 Javascript
js prototype和__proto__的关系是什么
2019/08/23 Javascript
解决layui-open关闭自身窗口的问题
2019/09/10 Javascript
微信小程序实现选择地址省市区三级联动
2020/06/21 Javascript
Python中返回字典键的值的values()方法使用
2015/05/22 Python
Python3搜索及替换文件中文本的方法
2015/05/22 Python
使用k8s部署Django项目的方法步骤
2019/01/14 Python
标准自荐信范文
2014/01/29 职场文书
简历自我评价模版
2014/01/31 职场文书
房产分割协议书范文
2014/11/21 职场文书
推广普通话的宣传语
2015/07/13 职场文书
2015年国庆节新闻稿
2015/07/18 职场文书
python之PySide2安装使用及QT Designer UI设计案例教程
2021/07/26 Python