十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
第一步:
創(chuàng)新互聯(lián)公司,為您提供網(wǎng)站建設(shè)、成都網(wǎng)站制作、網(wǎng)站營銷推廣、網(wǎng)站開發(fā)設(shè)計(jì),對服務(wù)攪拌罐車等多個行業(yè)擁有豐富的網(wǎng)站建設(shè)及推廣經(jīng)驗(yàn)。創(chuàng)新互聯(lián)公司網(wǎng)站建設(shè)公司成立于2013年,提供專業(yè)網(wǎng)站制作報價服務(wù),我們深知市場的競爭激烈,認(rèn)真對待每位客戶,為客戶提供賞心悅目的作品。 與客戶共同發(fā)展進(jìn)步,是我們永遠(yuǎn)的責(zé)任!
我分析如果從一堆數(shù)里隨機(jī)抽取幾個,并且按原來的順序輸出的話,那么至少要隨機(jī)兩次才能完成,第一次隨機(jī)的值是確定隨機(jī)幾個數(shù),第二次隨機(jī)是確定隨機(jī)的值。
第二步:
隨機(jī)抽取幾個可以用random.randint(1,n)這個函數(shù)來實(shí)現(xiàn),這個n代表所要隨機(jī)列表的長度。
第三步:
上一步出來一個數(shù)決定此次隨機(jī)出幾個值出來,現(xiàn)在假定是n,再次隨機(jī)就是從列表里隨機(jī)抽取n個值這個可以用random.sample(dict,n)這個方法實(shí)現(xiàn),這個函數(shù)可以傳入一個字典,和一個數(shù)字返回一個列表。
第四步:
得到的結(jié)果需要按原來的順序輸出,那么存儲就需要考慮用dict了,因?yàn)樽值涞膋-v特性可以實(shí)現(xiàn)找到原來的順序,我具體的實(shí)現(xiàn)如下:
import?random
#random_number(a)函數(shù)的功能傳入一個數(shù),返回1到這個數(shù)的隨機(jī)數(shù)
def?random_number(a):
return?random.randint(1,a)
#print(random_number(4))
#random_list(a,b)函數(shù)的功能,傳入一個字典a,和一個數(shù)值b,
#1=b=a的長度,返回一個擁有b的個數(shù)值是a中的key值的list
def?random_list(a,b):
return?random.sample(list(a),b)
a={1:'a',2:'j',3:'g',4:'h',5:'k',6:'i',7:'l',8:'f',9:'v',10:'b',11:2,12:5,13:'x'}
b=len(a)
#print(random_list(a,b))
#random_dictvalue函數(shù)的功能,傳入一個字典a和一個列表b,返回以b為key,a中對應(yīng)的value的值
def?random_dictvalue(a,b):
b.sort()
for?i?in?b:
print(a.get(i),end='?')
print(random_dictvalue(a,random_list(a,random_number(b))))
#??result
================================?RESTART?================================
a?f?None
================================?RESTART?================================
g?i?None
================================?RESTART?================================
a?j?h?l?v?b?2?5?x?None
python隨機(jī)選取n個不同的數(shù)字的方法:
1、使用“import random”導(dǎo)入random包
2、通過for語句循環(huán)執(zhí)行n次“random.randint()”語句獲取n個隨機(jī)數(shù)并將隨機(jī)數(shù)輸入到列表中
n=10示例如下:
3、用set函數(shù)去重就可以了
完整代碼:
更多Python知識,請關(guān)注:Python自學(xué)網(wǎng)?。?/p>
需求:從列表中,隨機(jī)抽取" 一組 "無重復(fù)元素,返回結(jié)果到一個新的列表中。
包:random
函數(shù):random.sample(list, num)
參數(shù)說明:list是待抽取的列表,num是抽取的個數(shù);返回值為一個新的列表。
使用如下: