Python3 实现随机生成一组不重复数并按行写入文件
作者:Kerwin_Kuang 发布时间:2021-11-25 18:05:35
笔主在做一个项目要生成一组随机有序的整型数字,并按行输出到文本文件使用,恰好开始学习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下可直接使用,方便快捷,可以提高工作效率。
来源:https://blog.csdn.net/kxw1994/article/details/71402737


猜你喜欢
- 首先看一下super()函数的定义:super([type [,object-or-type]])Return a **proxy obje
- 今天星期天,因数据库太慢,最后决定将数据库进行重新整理. (假定数据库名称为:DB_ste) 1、根据现在的数据库的脚本创建一个脚本文件(F
- 前言tkinter是python自带的标准gui库,对于我们自己日常做一些小程序出来给自己使用是非常不错的。因为tkinter相比较其它强大
- 本文章采用的是Qt4,是python(x,y) 套件中集成的,为啥不集成Qt5呢,懒得装啊:)正文:首先看成品:这个程序的功能是输入原价和降
- goto语句在Go编程语言中的goto语句提供无条件跳转从跳转到标记声明的功能。注意:使用goto语句是高度劝阻的在任何编程语言,因为它使得
- 本文实例讲述了js实现鼠标感应向下滑动隐藏菜单的方法。分享给大家供大家参考。具体实现方法如下:<html><head>
- 很多深度神经网络模型需要加载预训练过的Vgg参数,比如说:风格迁移、目标检测、图像标注等计算机视觉中常见的任务。那么到底如何加载Vgg模型呢
- 上一次很多朋友写文字屏蔽说到要用正则表达,其实不是我不想用(我正则用得不是很多,看过我之前爬虫的都知道,我直接用BeautifulSoup的
- 默认情况下,PyCharm中如果有无法错误或者不符合PEP8规范代码下面会有波浪线,语法错误波浪线为红色(如下图的第10行),不符合PEP8
- 【背景】 最近学习碰到了一件挺令人尴尬的事情,我把MySQL的密码给忘记了,所以
- 昨天打包下载了一个服务器整站,拿到这个*.mdb的文件后,却不知道怎么用,百度了一下,才知道是一种木马打包的形式文件,不能用WINrar来解
- .Net新手通常容易把属性(Property)跟特性(Attribute)搞混,其实这是两种不同的东西属性指的类中封装的数据字段;而特性是对
- 接口(python 中的协议)的多种不同的实现方式即为多态。多态的作用,就是为了类在继承和派生的时候,保证使用“家谱”中任一类的实例的某一属
- 自动备份MySQL 5.0有三个方案: 备份方案一: 通过 mysqldump命令,直接生成一个完整的 .sql 文件
- 以titanic数据集为例。其中name列是字符串,现在想从其中提取title作为新的一列。例如:# create new Title co
- 接触pandas之后感觉它的很多功能似乎跟numpy有一定的重复,尤其是各种运算。不过,简单的了解之后发现在数据管理上pandas有着更为丰
- 简洁版Windows10系统下,按Win+R键启动运行,输入cmd,进入命令窗口输入conda info --envs,查看conda 环境
- 1.前台ajax数据提交<form id="login_form" action="" met
- 本文实例讲述了php购物车实现方法。分享给大家供大家参考。具体分析如下:这里我们为你提供个简单的php购物车代码,从增加购物产品与发生购买了
- 这篇文章主要介绍了Java正则表达式Pattern和Matcher原理详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参