python itertools模組實現排列組合

來源:互聯網
上載者:User

標籤:ddd   ace   ati   net   iterable   tool   cte   笛卡爾   repeat   

轉自:71189486

一、笛卡爾積:itertools.product(*iterables[, repeat])

直接對自身進行笛卡爾積:

import itertoolsfor i in itertools.product(‘ABCD‘, repeat = 2):    print (‘‘.join(i),end=‘ ‘)

輸出結果: 
AA AB AC AD BA BB BC BD CA CB CC CD DA DB DC DD 
print (”.join(i))這個語句可以讓結果直接排列到一起 
end=’ ‘可以讓預設的輸出後換行變為一個空格

兩個元組進行笛卡爾積:

import itertoolsa = (1, 2, 3)b = (‘A‘, ‘B‘, ‘C‘)c = itertools.product(a,b)for i in c:    print(i,end=‘ ‘)

輸出結果: 
(1, ‘A’) (1, ‘B’) (1, ‘C’) (2, ‘A’) (2, ‘B’) (2, ‘C’) (3, ‘A’) (3, ‘B’) (3, ‘C’)

二、排列:itertools.permutations(iterable[, r])

import itertoolsfor i in itertools.permutations(‘ABCD‘, 2):    print (‘‘.join(i),end=‘ ‘)

輸出結果: 
AB AC AD BA BC BD CA CB CD DA DB DC

三、組合:itertools.combinations(iterable, r)

import itertoolsfor i in itertools.combinations(‘ABCD‘, 3):    print (‘‘.join(i))

輸出結果: 
ABC 
ABD 
ACD 
BCD

四、組合(包含自身重複):itertools.combinations_with_replacement(iterable, r)

import itertoolsfor i in itertools.combinations_with_replacement(‘ABCD‘, 3):    print (‘‘.join(i),end=‘ ‘)

輸出結果: 
AAA AAB AAC AAD ABB ABC ABD ACC ACD ADD BBB BBC BBD BCC BCD BDD CCC CCD CDD DDD

python itertools模組實現排列組合

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.