python itertools模塊中全排列函數包含combinations函數和permutations函數,簡要介紹如下:
1、combinations函數
函數語法:combinations(iterable, r)
連續返回由 iterable 元素生成長度為 r 的序列,如果 r 未指定或為 None ,r 默認設置為 iterable的長度,這種情況下生成全長序列,返回的序列中的項按輸入iterable中的順序排序。
2、permutations函數
函數語法:permutations(iterable,r)
如果 r 未指定或為 None ,r 默認設置為 iterable 的長度,這種情況下,生成所有全長排列。
排列元組會以字典順序根據所輸入 iterable 的順序發出。 因此,如果所輸入 iterable 是已排序的,組合元組也將按已排序的順序生成。即使元素的值相同,不同位置的元素也被認為是不同的。如果元素值都不同,每個排列中的元素值不會重復。
3、combinations和permutations函數區別
1)combinations方法重點在組合,permutations方法重在排列;
2)combinations和permutations返回的是對象地址,需將iterator轉換成list 使用;