Python3 实现随机生成一组不重复数并按行写入文件

 更新时间:2018年04月09日 10:20:45   作者:Kerwin_Kuang  
下面小编就为大家分享一篇Python3 实现随机生成一组不重复数并按行写入文件的示例。具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

笔主在做一个项目要生成一组随机有序的整型数字,并按行输出到文本文件使用,恰好开始学习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 实现随机生成一组不重复数并按行写入文件就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 创建虚拟环境打包py文件的实现步骤

    创建虚拟环境打包py文件的实现步骤

    使用虚拟环境,可以为每个项目创建一个独立的Python环境,每个环境都有自己的库和版本,从而避免了依赖冲突,本文主要介绍了创建虚拟环境打包py文件的实现步骤,感兴趣的可以了解一下
    2024-04-04
  • python数据库批量插入数据的实现(executemany的使用)

    python数据库批量插入数据的实现(executemany的使用)

    这篇文章主要介绍了python数据库批量插入数据的实现(executemany的使用),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • python中import,from……import的使用详解

    python中import,from……import的使用详解

    这篇文章主要介绍了python中import,from……import的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-02-02
  • Python3进制之间的转换代码实例

    Python3进制之间的转换代码实例

    这篇文章主要介绍了Python3进制之间的转换代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08
  • Python实现Socket通信建立TCP反向连接

    Python实现Socket通信建立TCP反向连接

    本文将记录学习基于 Socket 通信机制建立 TCP 反向连接,借助 Python 脚本实现主机远程控制的目的。感兴趣的可以了解一下
    2021-08-08
  • Keras模型转成tensorflow的.pb操作

    Keras模型转成tensorflow的.pb操作

    这篇文章主要介绍了Keras模型转成tensorflow的.pb操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-07-07
  • Python RawString与open文件的newline换行符遇坑解决

    Python RawString与open文件的newline换行符遇坑解决

    这篇文章主要为大家介绍了Python RawString与open文件的newline换行符遇坑解决示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-10-10
  • Python enumerate内置库用法解析

    Python enumerate内置库用法解析

    这篇文章主要介绍了Python enumerate内置库用法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-02-02
  • 教你用Python实现自动提取并收集信息的功能

    教你用Python实现自动提取并收集信息的功能

    今天教大家怎么用Python实现自动提取并收集信息的功能,文中介绍的非常详细,有很多代码示例,对正在学习python的小伙伴们很有帮助,需要的朋友可以参考下
    2021-05-05
  • python算法与数据结构之冒泡排序实例详解

    python算法与数据结构之冒泡排序实例详解

    冒泡排序(英语:Bubble Sort)是一种简单的排序算法。它重复地遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。这篇文章主要介绍了python算法与数据结构-冒泡排序(32)的相关资料,需要的朋友可以参考下
    2019-06-06

最新评论