Python3 實(shí)現(xiàn)隨機(jī)生成一組不重復(fù)數(shù)并按行寫(xiě)入文件
筆主在做一個(gè)項(xiàng)目要生成一組隨機(jī)有序的整型數(shù)字,并按行輸出到文本文件使用,恰好開(kāi)始學(xué)習(xí)Python3,遂決定直接使用Python3解決
思路:與隨機(jī)數(shù)相關(guān)的函數(shù)都要使用到random這個(gè)系統(tǒng)庫(kù),查看相關(guān)的開(kāi)發(fā)文檔發(fā)現(xiàn)random庫(kù)下面有個(gè)sample(seq,n)函數(shù)比較符合,能在在一個(gè)序列中隨機(jī)選擇n個(gè)不重復(fù)的數(shù),并返回一個(gè)list,接下來(lái)就是將一個(gè)list按行輸出到一個(gè)文本文件中
過(guò)程:
1、導(dǎo)入random庫(kù)
import random
2、生成一個(gè)自己自己想要的范圍的序列,筆者是需要在1~300000隨機(jī)選擇900個(gè)數(shù)字,遂想使用range()函數(shù)生成一個(gè)序列,但是在使用的過(guò)程就懵逼了,例如range(1,100),返回的不是一個(gè)list,直接返回range(),經(jīng)過(guò)查閱開(kāi)發(fā)文檔才 發(fā)現(xiàn)python2中的range返回的是一個(gè)list,python3中的range返回的是一個(gè)迭代值,for i in range(1,10)在python2和python3中均可以使用,但是要生成1-100的列表,就需要用list(range(1,100))。
(在不清楚Python2和Python3的一些函數(shù)和語(yǔ)法的差別時(shí)常因此而走不少?gòu)澛?希望和我一樣的初學(xué)者在學(xué)習(xí)Python時(shí)要時(shí)常注意這一點(diǎn)),于是生成范圍序列:
seq = list(range(1,300000))
3、接著即使用sample()函數(shù)生成一個(gè)隨機(jī)序列:
sample在幫助文檔的解釋?zhuān)簉andom.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、然后再對(duì)輸出的list排下序(如果有需要的話(huà),否則可以省略這一步):
a.sort()
5、寫(xiě)入文件,因?yàn)橐獡Q行輸出所以輸出前需要對(duì)list進(jìn)行處理加入換行符
R='\n'.join(str(i) for i in a)
6、寫(xiě)入到文件
open('test.txt','w').write(R)
總結(jié):
Python作為一門(mén)解釋型語(yǔ)言相對(duì)自己之前經(jīng)常使用的C/C++相對(duì)要方便,相對(duì)簡(jiǎn)單的工作直接在bash或者CMD下可直接使用,方便快捷,可以提高工作效率。
以上這篇Python3 實(shí)現(xiàn)隨機(jī)生成一組不重復(fù)數(shù)并按行寫(xiě)入文件就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python語(yǔ)言異常處理測(cè)試過(guò)程解析
這篇文章主要介紹了Python語(yǔ)言異常處理測(cè)試過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-01-01
Python?add()集合中添加元素的實(shí)現(xiàn)
本文主要介紹了Python?add()集合中添加元素的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07
pytorch 狀態(tài)字典:state_dict使用詳解
今天小編就為大家分享一篇pytorch 狀態(tài)字典:state_dict使用詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-01-01
python實(shí)現(xiàn)自動(dòng)打卡小程序
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)自動(dòng)打卡小程序,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-03-03
一篇文章帶你了解python中的typing模塊和類(lèi)型注解
這篇文章主要為大家詳細(xì)介紹了python中的類(lèi)型注解,使用typing模塊,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助2022-02-02
成功解決ValueError:?Supported?target?types?are:('binary
本文給大家分享成功解決ValueError:?Supported?target?types?are:('binary',?'multiclass').?Got?'continuous'?instead.的錯(cuò)誤問(wèn)題,需要的朋友可以參考下2023-03-03

