2010-07-28 80 views
5

我已閱讀Python: Slicing a list into n nearly-equal-length partitions問題的答案。Python - 將列表隨機分成幾乎相等的部分

這是accepted answer

def partition(lst, n): 
    division = len(lst)/float(n) 
    return [ lst[int(round(division * i)): int(round(division * (i + 1)))] for i in xrange(n) ] 

我想知道,一個人如何以隨機分配項目分區修改這些解決方案,而不是增量分配。

感謝, 小號:-)

+0

分區也是字符串的方法,所以也許你應該重新考慮命名。此外,我會用馬克迪金森的第二個答案。 – 2010-07-28 15:09:10

回答

1

shuffle輸入列表。

+0

這絕對有道理。我真的應該明白這一點。唉,10000小時的規則可能是真的:-( – 2010-07-28 12:26:06

0

首先你將這個列表隨機化,然後把它分成幾乎相等的部分。