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

标签:Python3,随机,生成,不重复数,写入,文件
0
投稿

猜你喜欢

  • Python通过m3u8文件下载合并ts视频的操作

    2023-07-19 04:36:51
  • 在 SQL Server数据库开发中的十大问题

    2009-01-20 14:56:00
  • SQL Server 2000 作数据库服务器的优点

    2009-01-23 13:47:00
  • 搜索结果页(SERP):前言

    2009-07-22 20:56:00
  • Python实现快速排序算法及去重的快速排序的简单示例

    2021-06-02 19:58:09
  • python画环形图的方法

    2023-02-12 09:54:24
  • python 实现图片特效处理

    2021-04-20 05:34:22
  • PHP简单实现HTTP和HTTPS跨域共享session解决办法

    2023-11-14 19:39:58
  • 使用layui 的layedit定义自己的toolbar方法

    2023-08-24 16:21:43
  • python如何创建TCP服务端和客户端

    2021-05-20 04:52:52
  • Python for循环通过序列索引迭代过程解析

    2021-11-30 05:36:50
  • python切换hosts文件代码示例

    2023-07-19 15:41:43
  • DW MX新功能试用:嵌套模板

    2008-02-03 11:35:00
  • python 基于dlib库的人脸检测的实现

    2022-08-23 22:59:07
  • 利用GAE&Google Gears做了一个简单的AJAX代理

    2009-04-29 12:42:00
  • 支持png透明图片的php生成缩略图类分享

    2023-11-18 07:26:13
  • mysql中普通索引和唯一索引的效率对比

    2010-12-08 16:03:00
  • 如何用Axure制作Tab页签

    2009-02-08 17:53:00
  • js表单提交显示进度条

    2007-09-18 13:10:00
  • MySQL数据库安全解决方案

    2009-10-17 21:36:00
  • asp之家 网络编程 m.aspxhome.com