2016-04-02 63 views
1
build_dic = {} 
with open (filedictionary, 'r') as df: 
    for kv in [d.strip().split(':') for d in df]: 
     build_dic[kv[0]] = kv[1] 

for key in build_dic: 
    key = random.sample(build_dic, n) 
    print key 

,當我運行它,它帶有如何從字典中打印2個或更多的隨機密鑰在Python

['to study', 'to talk', 'to make'] 
['to make', 'to run', 'to practice'] 
['to run', 'to talk', 'to take'] 
['to arrive', 'to practice', 'to suck'] 
['to run', 'to search', 'to practice'] 
['to arrive', 'to suck', 'to talk'] 
['to search', 'to like', 'to take'] 
['to take', 'to play', 'to study'] 
['to study', 'to take', 'to practice'] 
['to suck', 'to search', 'to run'] 
['to play', 'to suck', 'to make'] 
['to suck', 'to talk', 'to search'] 

我該怎麼辦?我只想從我的詞典中隨機選擇3個鍵。

回答

1

請勿使用循環。您正在循環查看字典中的所有鍵,並在每次迭代中選擇一個新的樣本。

只需使用一次random.sample()

n = 3 
random_keys = random.sample(build_dic, n) 
print random_keys 

你也可以遍歷的當然random.sample()結果。

相關問題