我想获得给定长度的所有可能子集,这些子集会导致真实集合。所以对于集合 [a,b,c] 和子集大小 1 & 2 我想计算:
[[a,b],[c]] , [[b,c],[a]] , [[a,c],[b]]
我一直在尝试使用算法中的代码来计算 R 中一组的幂集(所有可能的子集),但该算法将生成所有子集,而不仅仅是那些导致集合的子集。
我正在尝试解决这个问题,尺寸约为 30。我想计算每个子集组合的分数,只保留最好的,这样我希望记忆没有困难。选择的编程语言是python。
我想获得给定长度的所有可能子集,这些子集会导致真实集合。所以对于集合 [a,b,c] 和子集大小 1 & 2 我想计算:
[[a,b],[c]] , [[b,c],[a]] , [[a,c],[b]]
我一直在尝试使用算法中的代码来计算 R 中一组的幂集(所有可能的子集),但该算法将生成所有子集,而不仅仅是那些导致集合的子集。
我正在尝试解决这个问题,尺寸约为 30。我想计算每个子集组合的分数,只保留最好的,这样我希望记忆没有困难。选择的编程语言是python。
如何创建长度为 2 的组合,并通过计算与原始集合的差异来生成余数?这就是我的意思:
from itertools import combinations
s = {'a', 'b', 'c'}
res = [(set(comb), s.difference(comb)) for comb in combinations(s, 2)]
生成:
[({'a', 'c'}, {'b'}), ({'b', 'c'}, {'a'}), ({'a', 'b'}, {'c'})]
您可以使用以下代码来查找列表中子集的大小:
list1=[[1,2,3],[1,3],[2,3,3,4]]
x= len(list1)
while(x>0):
print len(list1[x-1])
x=x-1
输出:
4
2
3