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实现代码行数统计示例分享
Feb 10 Python
Python之PyUnit单元测试实例
Oct 11 Python
Python动态加载模块的3种方法
Nov 22 Python
CentOS6.5设置Django开发环境
Oct 13 Python
Tensorflow 利用tf.contrib.learn建立输入函数的方法
Feb 08 Python
对python程序内存泄漏调试的记录
Jun 11 Python
python一键去抖音视频水印工具
Sep 14 Python
Django实现学生管理系统
Feb 26 Python
python实现H2O中的随机森林算法介绍及其项目实战
Aug 29 Python
python图形绘制奥运五环实例讲解
Sep 14 Python
python脚本监控logstash进程并邮件告警实例
Apr 28 Python
手把手教你将Flask应用封装成Docker服务的实现
Aug 19 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服务器实现多session并发运行
2006/10/09 PHP
php结合表单实现一些简单功能的例子
2011/06/04 PHP
php 阴历-农历-转换类代码
2012/01/16 PHP
PHP IDE PHPStorm配置支持友好Laravel代码提示方法
2015/05/12 PHP
thinkphp 手机号和用户名同时登录
2017/01/20 PHP
Laravel框架用户登陆身份验证实现方法详解
2017/09/14 PHP
Centos7安装swoole扩展操作示例
2020/03/26 PHP
Laravel 框架基于自带的用户系统实现登录注册及错误处理功能分析
2020/04/14 PHP
xml 与javascript结合的问题解决方法
2007/03/24 Javascript
jquery keypress,keyup,onpropertychange键盘事件
2010/06/25 Javascript
JavaScript中几个重要的属性(this、constructor、prototype)介绍
2013/05/19 Javascript
Vue.js动态组件解析
2016/09/09 Javascript
详解XMLHttpRequest(一)同步请求和异步请求
2016/09/14 Javascript
基于JavaScript实现前端文件的断点续传
2016/10/17 Javascript
详解angular2采用自定义指令(Directive)方式加载jquery插件
2017/02/09 Javascript
js装饰设计模式学习心得
2018/02/17 Javascript
vue组件中使用props传递数据的实例详解
2018/04/08 Javascript
vue全局使用axios的方法实例详解
2018/11/22 Javascript
实用的Vue开发技巧
2019/05/30 Javascript
vue拖拽组件 vuedraggable API options实现盒子之间相互拖拽排序
2019/07/08 Javascript
小程序中的箭头函数的具体使用
2020/06/19 Javascript
python实现的udp协议Server和Client代码实例
2014/06/04 Python
Python学习笔记(一)(基础入门之环境搭建)
2014/06/05 Python
使用python实现正则匹配检索远端FTP目录下的文件
2015/03/25 Python
三步实现Django Paginator分页的方法
2019/06/11 Python
解决pyecharts运行后产生的html文件用浏览器打开空白
2020/03/11 Python
Django设置Postgresql的操作
2020/05/14 Python
大专毕业生自我鉴定
2013/11/21 职场文书
外贸业务员求职信范文
2013/12/12 职场文书
施工安全责任书
2014/04/14 职场文书
经典禁毒标语
2014/06/16 职场文书
经典毕业生求职信
2014/07/12 职场文书
机关干部个人对照检查材料思想汇报
2014/09/28 职场文书
幼儿园保教工作总结2015
2015/10/15 职场文书
微软Win11什么功能最惊艳? Windows11新功能特性汇总
2021/11/21 数码科技
微信小程序实现轮播图指示器
2022/06/25 Javascript