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进阶教程之词典、字典、dict
Aug 29 Python
跟老齐学Python之眼花缭乱的运算符
Sep 14 Python
python求解水仙花数的方法
May 11 Python
python清除指定目录内所有文件中script的方法
Jun 30 Python
Python备份目录及目录下的全部内容的实现方法
Jun 12 Python
virtualenv实现多个版本Python共存
Aug 21 Python
python正则表达式去除两个特殊字符间的内容方法
Dec 24 Python
PyQt5 多窗口连接实例
Jun 19 Python
树莓派实现移动拍照
Jun 22 Python
Python大数据之从网页上爬取数据的方法详解
Nov 16 Python
python如何提取英语pdf内容并翻译
Mar 03 Python
Python使用Pyqt5实现简易浏览器(最新版本测试过)
Apr 27 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
来自phpguru得Php Cache类源码
2010/04/15 PHP
ThinkPHP使用心得分享-上传类UploadFile的使用
2014/05/15 PHP
客户端js判断文件类型和文件大小即限制上传大小
2013/11/20 Javascript
SeaJS 与 RequireJS 的差异对比
2014/12/08 Javascript
Javascript优化技巧之短路表达式详细介绍
2015/03/27 Javascript
jQuery实现的导航下拉菜单效果
2016/07/04 Javascript
如何实现json数据可视化详解
2016/11/24 Javascript
js document.getElementsByClassName的使用介绍与自定义函数
2016/11/25 Javascript
Bootstrap table两种分页示例
2016/12/23 Javascript
Boostrap栅格系统与自己额外定义的媒体查询的冲突问题
2017/02/19 Javascript
浅谈sass在vue注意的地方
2017/08/10 Javascript
红黑树的插入详解及Javascript实现方法示例
2018/03/26 Javascript
php中and 和 &&出坑指南
2018/07/13 Javascript
微信小程序 云开发模糊查询实现解析
2019/09/02 Javascript
解决Vue router-link绑定事件不生效的问题
2020/07/22 Javascript
[01:38]完美世界DOTA2联赛(PWL)宣传片:第一站
2020/10/26 DOTA
python字典的常用操作方法小结
2016/05/16 Python
Python中的变量和作用域详解
2016/07/13 Python
Python有序字典简单实现方法示例
2017/09/28 Python
Python 实现删除某路径下文件及文件夹的实例讲解
2018/04/24 Python
python3下使用cv2.imwrite存储带有中文路径图片的方法
2018/05/10 Python
在PyCharm中批量查找及替换的方法
2019/01/20 Python
如何利用Pyecharts可视化微信好友
2019/07/04 Python
python切片(获取一个子列表(数组))详解
2019/08/09 Python
python计算波峰波谷值的方法(极值点)
2020/02/18 Python
Python 定义只读属性的实现方式
2020/03/05 Python
结束运行python的方法
2020/06/16 Python
python邮件中附加文字、html、图片、附件实现方法
2021/01/04 Python
使用SVG实现提示框功能的示例代码
2020/06/05 HTML / CSS
前端H5 Video常见使用场景简介
2020/08/21 HTML / CSS
美国宠物用品网站:Value Pet Supplies
2018/03/17 全球购物
《伯牙绝弦》教学反思
2014/03/02 职场文书
二人合伙经营协议书
2014/09/13 职场文书
2014年党务公开工作总结
2014/12/09 职场文书
公务员岗前培训心得体会
2016/01/08 职场文书
CSS使用伪类控制边框长度的方法
2022/01/18 HTML / CSS