2009-08-11 91 views
120

我目前有n組大小的Python集,其中n> = 0。是否有快速的1或2行Python解決方案來執行此操作?例如,集類似:如何從Python集合中挑選2個隨機項目?

fruits = set(['apple', 'orange', 'watermelon', 'grape']) 

的目標是選擇從上面的2個隨機項目,它可能是上面的設置可以包含0個,1個或多個項目。我能想到做上述的唯一方法是將該集合轉換爲一個列表(可變),從那裏我可以訪問該集合的長度內的2個隨機唯一索引。

+1

你打算如何選擇0或1項目列表中的項目? – SilentGhost 2009-08-11 21:20:26

+2

以下應該注意: 進口隨機 vals = set([1,2,3,4,5,6]) random.sample(vals,min(len(vals),2)) – 2009-08-11 21:27:39

回答

241

使用random模塊:http://docs.python.org/library/random.html

import random 
random.sample(set([1, 2, 3, 4, 5, 6]), 2) 

這樣兩個值而不更換(所以這兩個值不同)。

+0

fasteeer ,比光的速度;) – 2009-08-11 21:15:34

+5

哇,這看起來很簡單,我將不得不檢查隨機文檔更詳細。 – 2009-08-11 21:17:34

+1

並且可以與'set'一起使用 – SilentGhost 2009-08-11 21:18:21