溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Python3怎么實現(xiàn)隨機生成一組不重復(fù)數(shù)并按行寫入文件

發(fā)布時間:2021-05-21 11:19:56 來源:億速云 閱讀:278 作者:小新 欄目:開發(fā)技術(shù)

這篇文章主要介紹了Python3怎么實現(xiàn)隨機生成一組不重復(fù)數(shù)并按行寫入文件,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

思路:與隨機數(shù)相關(guān)的函數(shù)都要使用到random這個系統(tǒng)庫,查看相關(guān)的開發(fā)文檔發(fā)現(xiàn)random庫下面有個sample(seq,n)函數(shù)比較符合,能在在一個序列中隨機選擇n個不重復(fù)的數(shù),并返回一個list,接下來就是將一個list按行輸出到一個文本文件中

過程:

1、導(dǎo)入random庫

import random

2、生成一個自己自己想要的范圍的序列,筆者是需要在1~300000隨機選擇900個數(shù)字,遂想使用range()函數(shù)生成一個序列,但是在使用的過程就懵逼了,例如range(1,100),返回的不是一個list,直接返回range(),經(jīng)過查閱開發(fā)文檔才 發(fā)現(xiàn)python2中的range返回的是一個list,python3中的range返回的是一個迭代值,for i in range(1,10)在python2和python3中均可以使用,但是要生成1-100的列表,就需要用list(range(1,100))。

(在不清楚Python2和Python3的一些函數(shù)和語法的差別時常因此而走不少彎路,希望和我一樣的初學(xué)者在學(xué)習(xí)Python時要時常注意這一點),于是生成范圍序列:

seq = list(range(1,300000))

3、接著即使用sample()函數(shù)生成一個隨機序列:

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)

感謝你能夠認真閱讀完這篇文章,希望小編分享的“Python3怎么實現(xiàn)隨機生成一組不重復(fù)數(shù)并按行寫入文件”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI