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的str强转int时遇到的问题
Apr 09 Python
python使用magic模块进行文件类型识别方法
Dec 08 Python
Python进阶之@property动态属性的实现
Apr 01 Python
如何使用Python自动控制windows桌面
Jul 11 Python
python 实现识别图片上的数字
Jul 30 Python
python实现微信小程序用户登录、模板推送
Aug 28 Python
Python中list循环遍历删除数据的正确方法
Sep 02 Python
基于Python 中函数的 收集参数 机制
Dec 21 Python
python实现提取COCO,VOC数据集中特定的类
Mar 10 Python
python 如何调用远程接口
Sep 11 Python
利用python实现后端写网页(flask框架)
Feb 28 Python
详解Python中*args和**kwargs的使用
Apr 07 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()和print()、require()和include()等易混淆函数的区别
2012/02/22 PHP
new Date()问题在ie8下面的处理方法
2014/07/31 Javascript
JavaScript实现的石头剪刀布游戏源码分享
2014/08/22 Javascript
JavaScript中对象property的读取和写入方法介绍
2014/12/30 Javascript
JavaScript对表格或元素按文本,数字或日期排序的方法
2015/05/26 Javascript
js实现人才网站职位选择功能的方法
2015/08/14 Javascript
实例讲解使用原生JavaScript处理AJAX请求的方法
2016/05/10 Javascript
JS创建事件的三种方法(实例代码)
2016/05/12 Javascript
JS数组操作(数组增加、删除、翻转、转字符串、取索引、截取(切片)slice、剪接splice、数组合并)
2016/05/20 Javascript
探索Vue.js component内容实现
2016/11/03 Javascript
bootstrap表单示例代码分享
2017/05/18 Javascript
jQuery实现的淡入淡出与滑入滑出效果示例
2018/04/18 jQuery
浅谈super-vuex使用体验
2018/06/25 Javascript
JavaScript动态添加数据到表单并提交的几种方式
2019/06/26 Javascript
JavaScript如何获取一个元素的样式信息
2019/07/29 Javascript
Python re模块介绍
2014/11/30 Python
使用Anaconda3建立虚拟独立的python2.7环境方法
2018/06/11 Python
解决python中无法自动补全代码的问题
2018/12/04 Python
Django-xadmin后台导入json数据及后台显示信息图标和主题更改方式
2020/03/11 Python
python pymysql链接数据库查询结果转为Dataframe实例
2020/06/05 Python
python 生成正态分布数据,并绘图和解析
2020/12/21 Python
DRF使用simple JWT身份验证的实现
2021/01/14 Python
深入浅出CSS3 background-clip,background-origin和border-image教程
2011/01/27 HTML / CSS
html5指南-2.如何操作document metadata
2013/01/07 HTML / CSS
美国网上鞋子零售商:Dr. Scholl’s Shoes
2017/11/17 全球购物
Lowe’s加拿大:家居装修、翻新和五金店
2019/12/06 全球购物
娇韵诗Clarins意大利官方网站:法国天然护肤品牌
2020/03/11 全球购物
中海讯通笔试题
2015/09/15 面试题
四风存在的原因分析
2014/02/11 职场文书
技术总监管理职责范本
2014/03/06 职场文书
诉前财产保全担保书
2014/05/20 职场文书
让世界充满爱演讲稿
2014/05/24 职场文书
活动总结格式
2014/08/30 职场文书
运动会班级口号霸气押韵
2015/12/24 职场文书
新手入门Mysql--概念
2021/06/18 MySQL
MySQL 如何限制一张表的记录数
2021/09/14 MySQL