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程序设计入门(4)模块和包
Jun 16 Python
Python中实现的RC4算法
Feb 14 Python
Python基于PycURL自动处理cookie的方法
Jul 25 Python
利用python的socket发送http(s)请求方法示例
May 07 Python
使用python进行文本预处理和提取特征的实例
Jun 05 Python
Django中日期处理注意事项与自定义时间格式转换详解
Aug 06 Python
Python把对应格式的csv文件转换成字典类型存储脚本的方法
Feb 12 Python
从0开始的Python学习016异常
Apr 08 Python
基于python实现把图片转换成素描
Nov 13 Python
Python class的继承方法代码实例
Feb 14 Python
Python验证码截取识别代码实例
May 16 Python
Python爬取微信小程序Charles实现过程图解
Sep 29 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 echo 输出字符串函数详解
2010/05/13 PHP
ajax取消挂起请求的处理方法
2013/03/18 PHP
discuz加密解密函数使用方法和中文注释
2014/01/21 PHP
php获取textarea的值并处理回车换行的方法
2014/10/20 PHP
PHP读取PPT文件的方法
2015/12/10 PHP
PHP创建/删除/复制文件夹、文件
2016/05/03 PHP
Laravel框架实现发送短信验证功能代码
2016/06/06 PHP
不错的asp中显示新闻的功能
2006/10/13 Javascript
JavaScript为对象原型prototype添加属性的两种方式
2010/08/01 Javascript
jQuery插件Tooltipster实现漂亮的工具提示
2015/04/12 Javascript
初步了解javascript面向对象
2015/11/09 Javascript
AngularJS入门之动画
2016/07/27 Javascript
JS中BOM相关知识点总结(必看篇)
2016/11/22 Javascript
自动适应iframe右边的高度
2016/12/22 Javascript
Angular4 中内置指令的基本用法
2017/07/31 Javascript
JavaScript中使用Async实现异步控制
2017/08/15 Javascript
jquery插件开发之选项卡制作详解
2017/08/30 jQuery
VueJS组件之间通过props交互及验证的方式
2017/09/04 Javascript
vue+axios+element ui 实现全局loading加载示例
2018/09/11 Javascript
vue-router命名路由和编程式路由传参讲解
2019/01/19 Javascript
封装Vue Element的table表格组件的示例详解
2020/08/19 Javascript
js实现点击选项置顶动画效果
2020/08/25 Javascript
详解vue实现坐标拾取器功能示例
2020/11/18 Vue.js
[43:58]DOTA2-DPC中国联赛定级赛 LBZS vs SAG BO3第一场 1月8日
2021/03/11 DOTA
Python中文件I/O高效操作处理的技巧分享
2017/02/04 Python
Python实现桶排序与快速排序算法结合应用示例
2017/11/22 Python
Python内置函数reversed()用法分析
2018/03/20 Python
Python自定义线程类简单示例
2018/03/23 Python
python 对给定可迭代集合统计出现频率,并排序的方法
2018/10/18 Python
完美解决python3.7 pip升级 拒绝访问问题
2019/07/12 Python
用django设置session过期时间的方法解析
2019/08/05 Python
Python爬虫之Selenium鼠标事件的实现
2020/12/04 Python
基于python+selenium自动健康打卡的实现代码
2021/01/13 Python
Debenhams爱尔兰:英国知名的百货公司
2017/01/02 全球购物
台湾旅游网站:灿星旅游
2018/10/11 全球购物
乌克兰第一的珠宝网上商店:Gold.ua
2019/11/29 全球购物