python 排列组合_python解决排列组合
笛卡爾積:itertools.product(*iterables[, repeat])
import itertools
for i in itertools.product(‘BCDEF‘, repeat = 2):
print(‘‘.join(i),end=",")
print(‘\n‘)
# 輸出 BB BC BD BE BF CB CC CD CE CF DB DC DD DE DF EB EC ED EE EF FB FC FD FE FF
兩個(gè)元組進(jìn)行笛卡爾積:
import itertools
a = (1, 2)
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‘)
排列:itertools.permutations(iterable[, r])
import itertools
for i in itertools.permutations(‘BCD‘, 2):
print(‘‘.join(i),end=",")
# 輸出 BC BD CB CD DB DC
print(‘\n‘)
組合:itertools.combinations(iterable, r)
import itertools
for i in itertools.combinations(‘BCDEF‘, 2):
print(‘‘.join(i),end=" ")
# 輸出 BC BD BE BF CD CE CF DE DF EF
print(‘\n‘)
組合(包含自身重復(fù)):itertools.combinations_with_replacement(iterable, r)
import itertools
for i in itertools.combinations_with_replacement(‘ABC‘, 3):
print (‘‘.join(i),end=‘ ‘)
# 輸出 AAA AAB AAC ABB ABC ACC BBB BBC BCC CCC
print(‘\n‘)
舉例
‘BCDEF五個(gè)字母組合問題‘
import itertools
print("1個(gè)組合:")
for i, val in enumerate(list(itertools.combinations(‘BCDEF‘, 1))):
print("序號(hào):%s 值:%s" % (i + 1, ‘‘.join(val)))
print("2個(gè)組合:")
for i, val in enumerate(list(itertools.combinations(‘BCDEF‘, 2))):
print("序號(hào):%s 值:%s" % (i + 1, ‘‘.join(val)))
print("3個(gè)組合:")
for i, val in enumerate(list(itertools.combinations(‘BCDEF‘, 3))):
print("序號(hào):%s 值:%s" % (i + 1, ‘‘.join(val)))
print("4個(gè)組合:")
for i, val in enumerate(list(itertools.combinations(‘BCDEF‘, 4))):
print("序號(hào):%s 值:%s" % (i + 1, ‘‘.join(val)))
print("5個(gè)組合:")
for i, val in enumerate(list(itertools.combinations(‘BCDEF‘, 5))):
print("序號(hào):%s 值:%s" % (i + 1, ‘‘.join(val)))
原文地址:https://www.cnblogs.com/xiao-apple36/p/10861830.html
總結(jié)
以上是生活随笔為你收集整理的python 排列组合_python解决排列组合的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 天音控股股价暴涨暴跌 5天吃了4个跌停今
- 下一篇: 建行卡是什么卡 主打绘有龙图腾的龙卡