Python 程序,用以获取集合中所有指定大小的子集
在本文中,我们将了解如何解决以下给定的问题描述。
问题描述−我们给定一个集合,我们需要列出所有大小为 n 的子集
我们有三种方法来解决该问题 −
使用 itertools.combinations() 方法
例如
# itertools module import itertools def findsubsets(s, n): return list(itertools.combinations(s, n)) #main s = {1,2,3,4,5} n = 4 print(findsubsets(s, n))
输出
[(1, 2, 3, 4), (1, 2, 3, 5), (1, 2, 4, 5), (1, 3, 4, 5), (2, 3, 4, 5)]
使用 map() 和 combination() 方法
例如
# itertools module from itertools import combinations def findsubsets(s, n): return list(map(set, itertools.combinations(s, n))) # Driver Code s = {1, 2, 3, 4, 5} n = 4 print(findsubsets(s, n))
输出
[{1, 2, 3, 4}, {1, 2, 3, 5}, {1, 2, 4, 5}, {1, 3, 4, 5}, {2, 3, 4, 5}]
在列表 iteralbe 中使用列表解析
例如
# itertools import itertools def findsubsets(s, n): return [set(i) for i in itertools.combinations(s, n)] # Driver Code s = {1, 2, 3, 4, 5} n = 4 print(findsubsets(s, n))
输出
[{1, 2, 3, 4}, {1, 2, 3, 5}, {1, 2, 4, 5}, {1, 3, 4, 5}, {2, 3, 4, 5}]
结论
在本文中,我们已经了解了如何获得一个集合中所有给定大小的子集
广告