- Published on
Python で順列と組合せ
- Authors
- Name
- Daisuke Kobayashi
- https://twitter.com
itertools を使うと簡単にできるみたいです.
>>> import itertools
>>> for c in itertools.combinations([0, 1, 2, 3, 4], 3):
... print c
...
(0, 1, 2)
(0, 1, 3)
(0, 1, 4)
(0, 2, 3)
(0, 2, 4)
(0, 3, 4)
(1, 2, 3)
(1, 2, 4)
(1, 3, 4)
(2, 3, 4)
>>> for p in itertools.permutations([0, 1, 2, 3, 4], 3):
... print p
...
(0, 1, 2)
(0, 1, 3)
(0, 1, 4)
(0, 2, 1)
(0, 2, 3)
(0, 2, 4)
(0, 3, 1)
(0, 3, 2)
(0, 3, 4)
(0, 4, 1)
(0, 4, 2)
(0, 4, 3)
(1, 0, 2)
(1, 0, 3)
(1, 0, 4)
(1, 2, 0)
(1, 2, 3)
(1, 2, 4)
(1, 3, 0)
(1, 3, 2)
(1, 3, 4)
(1, 4, 0)
(1, 4, 2)
(1, 4, 3)
(2, 0, 1)
(2, 0, 3)
(2, 0, 4)
(2, 1, 0)
(2, 1, 3)
(2, 1, 4)
(2, 3, 0)
(2, 3, 1)
(2, 3, 4)
(2, 4, 0)
(2, 4, 1)
(2, 4, 3)
(3, 0, 1)
(3, 0, 2)
(3, 0, 4)
(3, 1, 0)
(3, 1, 2)
(3, 1, 4)
(3, 2, 0)
(3, 2, 1)
(3, 2, 4)
(3, 4, 0)
(3, 4, 1)
(3, 4, 2)
(4, 0, 1)
(4, 0, 2)
(4, 0, 3)
(4, 1, 0)
(4, 1, 2)
(4, 1, 3)
(4, 2, 0)
(4, 2, 1)
(4, 2, 3)
(4, 3, 0)
(4, 3, 1)
(4, 3, 2)