如何获取集合python的所有子集

如何获取集合python的所有子集,python,python-3.x,Python,Python 3.x,我必须定义一个像3这样的数字,然后把它设为一个集合 x = set(range(1,n+1)) 然后显示此集合的所有子集: {} {1} {1, 2} {1, 2, 3} {1, 3} {2} {2, 3} {3} 您正在寻找上述简单的解决方案吗?我无法使用任何库来实现此目的loops@mujad然后在问题中指定您最近的评论,因为这是一个条件。是!但这不会返回{} def get_result(x): len_x = len(x) res = [] for i in

我必须定义一个像3这样的数字,然后把它设为一个集合

x = set(range(1,n+1))
然后显示此集合的所有子集:

{}
{1}
{1, 2}
{1, 2, 3}
{1, 3}
{2}
{2, 3}
{3}

您正在寻找上述简单的解决方案吗?

我无法使用任何库来实现此目的loops@mujad然后在问题中指定您最近的评论,因为这是一个条件。是!但这不会返回{}
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}))