from itertools import permutations,combinations
순열이란, 배열에서 몇개를 골라 순서를 고려하여 나열한 경우를 말한다.
따라서 [A,B,C] 중에 순열[A,B]와 순열[B,A]는 다른 순열이다.
permutation(list,n)
: list에서 크기가 n개인 순열을 모두 반환한다.
조합이란, 배열에서 몇개를 골라 순서를 고려하지 않고 나열한 경우를 말한다. 조합에서는 순서가 의미가 없다.
따라서 [A,B,C] 중에 조합[A,B]와 조합[B,A]는 동일한 조합이다.
combination(list, n)
: list에서 크기가 n개인 조합을 모두 반환한다.
from itertools import permutations,combinations
list = [1,2,3,4]
permutation_list = permutations(list,2)
for i in permutation_list:
print(i, end=" ")
# (1, 2) (1, 3) (1, 4) (2, 1) (2, 3) (2, 4) (3, 1) (3, 2) (3, 4) (4, 1) (4, 2) (4, 3)
print()
combination_list = combinations(list,2)
for i in combination_list:
print(i, end=" ")
# (1, 2) (1, 3) (1, 4) (2, 3) (2, 4) (3, 4)