close

一.排列

from itertools import permutations
print(list(permutations("ABCD",2)))
#[('A', 'B'), ('A', 'C'), ('A', 'D'),('B', 'A'), ('B', 'C'), ('B', 'D'), ('C', 'A'), ('C', 'B'),('C', 'D'), ('D', 'A'), ('D', 'B'), ('D', 'C')]

二.組合

from itertools import combinations
print(list(combinations("ABCD",2)))

#[('A', 'B'), ('A', 'C'), ('A', 'D'),('B', 'C'), ('B', 'D'), ('C', 'D')]

三.  元素可重複的組合

from itertools import combinations_with_replacement
print(list(combinations_with_replacement("ABCD",2)))

#[('A', 'A'), ('A', 'B'), ('A', 'C'), ('A', 'D'),('B', 'B'), ('B', 'C'), ('B', 'D'), ('C', 'C'),('C', 'D'), ('D', 'D')]

四.笛卡兒積(參數數量不限,每堆取一個元素做搭配。

from itertools import product
print(list(product('ABC', 'xyz')))
print(list(product('AB', 'xy','12')))

#[('A', 'x'), ('A', 'y'), ('A', 'z'), ('B', 'x'),('B', 'y'), ('B', 'z'), ('C', 'x'), ('C', 'y'),('C', 'z')]
#[('A', 'x', '1'), ('A', 'x', '2'), ('A', 'y', '1'),('A', 'y', '2'), ('B', 'x', '1'), ('B', 'x', '2'),('B', 'y', '1'), ('B', 'y', '2')]

 

arrow
arrow
    文章標籤
    python
    全站熱搜
    創作者介紹
    創作者 趴趴熊日常 的頭像
    趴趴熊日常

    資工趴趴熊的小天地

    趴趴熊日常 發表在 痞客邦 留言(0) 人氣()