国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python3 實現隨機生成一組不重復數并按行寫入文件

2020-02-22 23:38:16
字體:
來源:轉載
供稿:網友

筆主在做一個項目要生成一組隨機有序的整型數字,并按行輸出到文本文件使用,恰好開始學習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 實現隨機生成一組不重復數并按行寫入文件就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林站長站。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 航空| 柏乡县| 乐昌市| 台安县| 上饶县| 稻城县| 临洮县| 昌都县| 泰宁县| 南澳县| 宜川县| 扎兰屯市| 雅安市| 绵竹市| 田东县| 平塘县| 洛浦县| 宁强县| 绥棱县| 伽师县| 慈利县| 宝坻区| 沙田区| 牡丹江市| 阿克陶县| 四子王旗| 望江县| 临漳县| 平遥县| 兰溪市| 分宜县| 武陟县| 枣庄市| 德兴市| 中宁县| 南城县| 垦利县| 南京市| 理塘县| 泾川县| 灯塔市|