为了账号安全,请及时绑定邮箱和手机立即绑定

如何获取一组python的所有子集

如何获取一组python的所有子集

阿波罗的战车 2021-09-25 21:30:15
我必须定义一个像 3 这样的数字然后使它成为一个集合x = set(range(1,n+1))然后显示该集合的所有子集:{}{1}{1, 2}{1, 2, 3}{1, 3}{2}{2, 3}{3}
查看完整描述

1 回答

?
海绵宝宝撒

TA贡献1809条经验 获得超8个赞

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}))

您是否正在寻找像上面这样的简单解决方案?


查看完整回答
反对 回复 2021-09-25
  • 1 回答
  • 0 关注
  • 207 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信