需求:從列表中,隨機抽取" 一組 "無重復(fù)元素,返回結(jié)果到一個新的列表中。
為朝陽等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計制作服務(wù),及朝陽網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為做網(wǎng)站、網(wǎng)站制作、朝陽網(wǎng)站設(shè)計,以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達到每一位用戶的要求,就會得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!
包:random
函數(shù):random.sample(list, num)
參數(shù)說明:list是待抽取的列表,num是抽取的個數(shù);返回值為一個新的列表。
使用如下:
第一步:
我分析如果從一堆數(shù)里隨機抽取幾個,并且按原來的順序輸出的話,那么至少要隨機兩次才能完成,第一次隨機的值是確定隨機幾個數(shù),第二次隨機是確定隨機的值。
第二步:
隨機抽取幾個可以用random.randint(1,n)這個函數(shù)來實現(xiàn),這個n代表所要隨機列表的長度。
第三步:
上一步出來一個數(shù)決定此次隨機出幾個值出來,現(xiàn)在假定是n,再次隨機就是從列表里隨機抽取n個值這個可以用random.sample(dict,n)這個方法實現(xiàn),這個函數(shù)可以傳入一個字典,和一個數(shù)字返回一個列表。
第四步:
得到的結(jié)果需要按原來的順序輸出,那么存儲就需要考慮用dict了,因為字典的k-v特性可以實現(xiàn)找到原來的順序,我具體的實現(xiàn)如下:
import?random
#random_number(a)函數(shù)的功能傳入一個數(shù),返回1到這個數(shù)的隨機數(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
#導(dǎo)入隨機數(shù)模塊
import random
#定義一個空的數(shù)組,用作取樣表
reList = []
#為取樣表賦值,1~100
for i in range(1,101):
reList.append(i)
#使用sample方法,取3個隨機數(shù)
res = random.sample(reList,k=3)
print("三個隨機數(shù)是:{}".format(res))
名稱欄目:python函數(shù)隨機抽取 Python中隨機函數(shù)
鏈接URL:http://www.rwnh.cn/article36/doocspg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機網(wǎng)站建設(shè)、企業(yè)網(wǎng)站制作、網(wǎng)站導(dǎo)航、網(wǎng)站設(shè)計、微信公眾號、網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)