最近遇到一个数学问题要用集合来编程解决:
问题描述:给定一个集合: {1,2,3,4}
从以上集合中每次取3个数,组成一个新的集合,需要计算出所有可能的组合和排列的结果。
先算每次取3个数的组合结果:
from itertools import combinations,permutations
Set={1,2,3,4}
ls1 = set(combinations(Set,3)) #计算组合
for i in ls1:
s1=set(i)
print(s1,end=' ') #输出组合
print()
ls2 = set(permutations(Set,3)) #计算排列
for i in ls2:
s2=set(i)
print(s2,end=' ') #输出排列
输出结果:
{2, 3, 4} {1, 2, 3} {1, 2, 4} {1, 3, 4}
{1, 2, 3} {1, 2, 4} {1, 2, 3} {2, 3, 4} {1, 2, 3} {1, 2, 4} {1, 3, 4} {1, 2, 4} {2, 3, 4} {2, 3, 4} {1, 2, 4} {1, 3, 4} {1, 2, 3} {1, 3, 4} {1, 2, 4} {1, 2, 4} {1, 2, 3} {1, 3, 4} {2, 3, 4} {1, 3, 4} {2, 3, 4} {1, 3, 4} {2, 3, 4} {1, 2, 3}
版权归原作者 xqlily 所有, 如有侵权,请联系我们删除。