【发布时间】:2011-08-27 19:24:55
【问题描述】:
在 Python 中工作,给定范围 range(s,n) 中的 N 组整数的列表,我如何构建一个列表,根据它们的集合成员资格对所有这些整数进行分组?一个例子真的可以帮助我在这里解释:
示例输入(N=2 组):
integerRange = range(0,13)
input = [set([0,1,2,3,7,8,9,12]), set([0,1,2,3,4,5,6,12])]
期望的输出:
out = [set([10,11]), set([4,5,6]), set([7,8,9]), set([0,1,2,3,12])]
所以在输出中 range(s,n) 中的每个整数只出现一次,并且有 2^N 个集合。在示例中,out[0] 包含两个集合中都不存在的整数。 out[1] 包含在第二个集合中但不是第一个集合中的整数。 out[2] 包含第一个集合中的整数,但不包含第二个集合中的整数。最后 out[3] 包含两个集合共有的整数。
对于 2 套来说,这相当容易……但我对 N 套感到难过。有人知道吗?
【问题讨论】:
标签: python list integer set grouping