python 随机取列表值 重复_python怎么随机取列表的值
匿名用戶
1級
2017-11-05 回答
第一步:
我分析如果從一堆數里隨機抽取幾個,并且按原來的順序輸出的話,那么至少要隨機兩次才能完成,第一次隨機的值是確定隨機幾個數,第二次隨機是確定隨機的值。
第二步:
隨機抽取幾個可以用random.randint(1,n)這個函數來實現,這個n代表所要隨機列表的長度。
第三步:
上一步出來一個數決定此次隨機出幾個值出來,現在假定是n,再次隨機就是從列表里隨機抽取n個值這個可以用random.sample(dict,n)這個方法實現,這個函數可以傳入一個字典,和一個數字返回一個列表。
第四步:
得到的結果需要按原來的順序輸出,那么存儲就需要考慮用dict了,因為字典的k-v特性可以實現找到原來的順序,我具體的實現如下:
import?random
#random_number(a)函數的功能傳入一個數,返回1到這個數的隨機數
def?random_number(a):
return?random.randint(1,a)
#print(random_number(4))
#random_list(a,b)函數的功能,傳入一個字典a,和一個數值b,
#1<=b<=a的長度,返回一個擁有b的個數值是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函數的功能,傳入一個字典a和一個列表b,返回以b為key,a中對應的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 随机取列表值 重复_python怎么随机取列表的值的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 电子白板技术_电子白板种类介绍及产品功能
- 下一篇: ue4 classuobject没有成员