Nie otrzymam liczby wyników, które powinienem uzyskać z tej funkcji w tytule, więc mam nadzieję, że w twojej pomocy.Python itertools.combinations 'wyniki
Patrząc na Docs http://docs.python.org/library/itertools.html#itertools.combinations liczba wyników powinny być
Liczba pozycji zwrócony jest n!/r!/(n-r)! gdy 0 < = r < = n lub zero, gdy r> n.
A to działa na przykładzie tam
kombinacji ('ABCD', 2) -> AB AC AD BC BD CD
bo n!/r!/(n-r)! = 4!/2!/2! = 6
Ale jeśli próbuję
combinations('ABCDEF', 3) --> AB AC AD AE AF BC BD BE BF CD CE CF DE DF EF
mogę dostać te 15 wyników. Ale n!/r!/(n-r)! = 6!/3!/(6-3)! = 720/6/6 = 20
Więc: Python Docs powiedział mi, że powinienem mieć 20 wyników, ale mam 15.
Czy możesz mi pomóc zrozumieć, co mi brakuje? Może jest coś w moim matematyki, jako że formuła powinna być w porządku, jak to jest w Wikipedia Combination entry
Dzięki, P.
Masz rację. Moja wina. Podwójny błąd: jeden, ponieważ napisałem "kombinację (" ABCDEF ", 3)", ale naprawdę próbowałem z 2 zamiast 3. Drugi błąd jest na pewno z obiektem iterowanym, którego używam z kombinacjami(). Dzięki :-) – Paolo