我沒有得到我應該從標題中的該函數獲得的結果數量,所以我希望能得到您的幫助。Python itertools.combinations的結果
望着文檔 http://docs.python.org/library/itertools.html#itertools.combinations 結果的數量應該是
返回的項目數爲n!/r! /(n-r)!當r> n時,0 < = r < = n或 爲零。
而且它在那裏
組合作品爲例子( 'ABCD',2) - > AB AC AD BC BD光盤
因爲N!/r! /(n-r)! = 4!/2!/2! = 6
但如果我嘗試
combinations('ABCDEF', 3) --> AB AC AD AE AF BC BD BE BF CD CE CF DE DF EF
我得到那些15分的結果。 但是!/r! /(n-r)! = 6!/3! /(6-3)! =六分之七百二十/ 6 = 20
因此:Python的文檔告訴我,我應該有20個結果,但我得到15
能否請您幫助我理解我缺少的是什麼?也許東西在我的數學,作爲公式應該是正確的,因爲它是在Wikipedia Combination entry
感謝, P.
你說得對。我的錯。雙重錯誤:因爲我寫了「combination('ABCDEF',3)」,但我真的用2而不是3來嘗試。 第二個錯誤肯定與組合使用的可迭代對象()。謝謝 :-) – Paolo 2011-12-26 11:15:23