一.概述
Python 中的 itertools模块 combinations(iterable, r)主要时创建一个迭代器,返回iterable中所有度为r的子序列,返回的子序列中的项按输入iterable中的顺序排序。
二.实例
(一)对列表进行combinations排列集合
from itertools import combinations
b = [1,2,3,4] #对列表进行combinations排列组合
for j in combinations(b,2):
print (''.join('%d'%o for o in j))
print ('**********')
输出结果:
(二)对字符串进行combinations排列组合
from itertools import combinations
a = 'abcd' #对字符串进行combinations排列组合
for i in combinations(a,2):
x = ''.join(i)
print (x,end=' ')
print ("\n***********")
输出结果:
(三)对元组进行combinations排列组合
from itertools import combinations
c = ('e','f','g','h') #对元组进行combinations排列组合
for j in combinations(c,2):
print (j)
print ('**********')
输出结果:
(四)对字典进行combinations排列组合
from itertools import combinations
e = {'青鸟':'最美','萧风':'最帅'} #对字典进行combinations排列组合
for i in combinations(e,2):
print ('配'.join('%s'%s for s in i),end=",绝!")
print ('\n****************')
输出结果:
注:combinations函数只对字典的键进行排列组合
(五)对集合进行combinations排列组合
from itertools import combinations
x = {'a','b','c','d'} #对集合进行combinations排列组合
for i in combinations(x,2):
print (i)
print ('**********')
输出结果:
三.测试
from itertools import combinations
y = {'a','a','a','b'}
for i in combinations(y,2):
print (''.join('%s'%p for p in i))
输出结果: