import itertools
VAR = list(itertools.permutations(SEQ))
VAR
: 階乗のパターンを格納する変数SEQ
: 階乗で使われる数のリスト (リストの長さが階乗 $N!$ の $N$ になる)list
の長さを調べると良い。variable = len(list(itertools.permutations(range(5)))) # 120
variable = list(itertools.permutations([10,11,12])) # [(10, 11, 12), (10, 12, 11), (11, 10, 12), (11, 12, 10), (12, 10, 11), (12, 11, 10)]
VAR = list(itertools.permutations(SEQ, R))
VAR
: 順列のパターンを格納する変数SEQ
: リストの長さが ${}_n \mathrm{P}_r$ の ${}_n$ になる。R
: ${}_n \mathrm{P}_r$ の ${}_r$variable = len(list(itertools.permutations(range(5), 3))) # 60
VAR = list(itertools.combinations(SEQ, R))
VAR
: 組み合わせのパターンを格納する変数SEQ
: リストの長さが ${}_n \mathrm{C}_r$ の ${}_n$ になる。R
: ${}_n \mathrm{C}_r$ の ${}_r$variable = len(list(itertools.combinations(range(5), 3))) # 10
VAR = list(itertools.product(SEQ_A, SEQ_B))
VAR
: 直積のパターンを格納する変数SEQ_A
: 集合 ASEQ_A
: 集合 Blist_a = [1,2,3] list_b = [4,5] variable = len(list(itertools.product(list_a, list_b))) # [(1, 4), (1, 5), (2, 4), (2, 5), (3, 4), (3, 5)] for i,j in itertools.product(list_a, list_b): print(i, j) # 1 4 # 1 5 # 2 4 # 2 5 # 3 4 # 3 5