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写的Tkinter程序屏幕居中方法
Mar 10 Python
Python处理XML格式数据的方法详解
Mar 21 Python
浅谈flask中的before_request与after_request
Jan 20 Python
Python tkinter事件高级用法实例
Jan 31 Python
win10下python3.5.2和tensorflow安装环境搭建教程
Sep 19 Python
Python列表的切片实例讲解
Aug 20 Python
python 实现return返回多个值
Nov 19 Python
Python tcp传输代码实例解析
Mar 18 Python
python 日志模块 日志等级设置失效的解决方案
May 26 Python
使用Python pip怎么升级pip
Aug 11 Python
使用Python实现音频双通道分离
Dec 25 Python
python异常中else的实例用法
Jun 15 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中正确的使用json
2013/08/06 PHP
解析isset与is_null的区别
2013/08/09 PHP
php文件操作之文件写入字符串、数组的方法分析
2019/04/15 PHP
javascript CSS画图之基础篇
2009/07/29 Javascript
基于jQuery的树控件实现代码(asp.net+json)
2010/07/11 Javascript
利用腾讯的ip地址库做ip物理地址定位
2010/07/24 Javascript
推荐40个简单的 jQuery 导航插件和教程(下篇)
2012/09/14 Javascript
JavaScript在IE和FF下的兼容性问题
2014/05/19 Javascript
JQuery中两个ul标签的li互相移动实现方法
2015/05/18 Javascript
使用classList来实现两个按钮样式的切换方法
2018/01/24 Javascript
vue watch普通监听和深度监听实例详解(数组和对象)
2018/08/16 Javascript
JS轮播图的实现方法
2020/08/24 Javascript
Vue中关闭弹窗组件时销毁并隐藏操作
2020/09/01 Javascript
JavaScript async/await原理及实例解析
2020/12/02 Javascript
[04:52]DOTA2亚洲邀请赛附加赛 TOP10精彩集锦
2015/01/29 DOTA
[01:10:48]完美世界DOTA2联赛PWL S2 GXR vs PXG 第一场 11.18
2020/11/18 DOTA
Django原生sql也能使用Paginator分页的示例代码
2017/11/15 Python
Python爬虫之正则表达式的使用教程详解
2018/10/25 Python
pycharm打开命令行或Terminal的方法
2019/01/16 Python
Python PIL读取的图像发生自动旋转的实现方法
2019/07/05 Python
django的聚合函数和aggregate、annotate方法使用详解
2019/07/23 Python
python 实现dict转json并保存文件
2019/12/05 Python
django有外键关系的两张表如何相互查找
2020/02/10 Python
python 用pandas实现数据透视表功能
2020/12/21 Python
美国迪克体育用品商店:DICK’S Sporting Goods
2018/07/24 全球购物
函数只定义了一次, 调用了一次, 但编译器提示非法重定义了-什么问题?
2014/10/03 面试题
在SQL Server中创建数据库主要有那种方式
2013/09/10 面试题
个人求职简历的自我评价范文
2013/10/09 职场文书
纪念建党演讲稿范文
2014/01/13 职场文书
无故旷工检讨书
2014/01/26 职场文书
动员大会主持词
2014/03/20 职场文书
心理健康日活动总结
2014/05/08 职场文书
怎样写离婚协议书
2015/01/26 职场文书
单位同意报考证明
2015/06/17 职场文书
幼儿园家长心得体会
2016/01/21 职场文书
浅谈如何写好演讲稿?
2019/06/12 职场文书