我必须定义一个像3这样的数字,然后将其设为一个集合
x = set(range(1,n+1))
,然后显示此集合的所有子集:
{}
{1}
{1, 2}
{1, 2, 3}
{1, 3}
{2}
{2, 3}
{3}
答案 0 :(得分:0)
def get_result(x):
len_x = len(x)
res = []
for i in range(0, 2**(len_x)):
res.append(take(x, i))
print("count:{}".format(len(res)))
return res
def take(x, i):
res = set()
idx = 1
while i:
if i & 1:
res.add(idx)
idx += 1
i >>= 1
return res
print(get_result({1, 2, 3}))
print(get_result({1, 2, 3, 4}))
您是否正在寻找上述简单的解决方案?