Python itertools.product和permutations
2023-03-30 12:36 作者:Superlitter | 我要投稿
1.itertools.product
????語法:itertools.product(*iterables,repeat=1)
????參數(shù)說明:
????????*代表接受可變的參數(shù)
????????iterables,可迭代對象,可以使用for in 遍歷的對象(內(nèi)部實(shí)現(xiàn)了__iter__()),包括list,str, dict等。
????????返回的是笛卡爾積,根據(jù)傳入的元素,返回他們的笛卡爾積
????????repeat參數(shù),可以用來控制笛卡爾積的元素個(gè)數(shù),不傳默認(rèn)1
????product(A,B) 等價(jià)于 ((x,y) for x in A for y in B)
('A', 'C')
('A', 'D')
('B', 'C')
('B', 'D')
解決實(shí)際問題:
例:有4個(gè)數(shù)字 1 2 3 4,能組成多少不重復(fù)的三位數(shù),各是多少
常規(guī)寫法:
product:
當(dāng)然,也可以使用itertools 下的permutations實(shí)現(xiàn),代碼如下
2.itertools.permutations
?????語法:itertools.permutations(*iterables,r=None)
? ? 參數(shù)說明:
????????*代表接受可變的參數(shù)
????????iterables,可迭代對象
????????默認(rèn)返回(r=None)的是所有元素的排列組合
????????r參數(shù),指定排列的長度,不傳默認(rèn)None
標(biāo)簽: