Python 无法理解子集创建者

Python 无法理解子集创建者,python,recursion,Python,Recursion,我是个编程新手,花了很多时间试图理解这个递归函数,但我就是不能想象它。这是关于subsetRecur函数的。有人有一个简单易懂的解释吗 class py_solution: def sub_sets(self, sset): return self.subsetsRecur([], sorted(sset)) def subsetsRecur(self, current, sset): if sset: return s

我是个编程新手,花了很多时间试图理解这个递归函数,但我就是不能想象它。这是关于subsetRecur函数的。有人有一个简单易懂的解释吗

class py_solution:

    def sub_sets(self, sset):
        return self.subsetsRecur([], sorted(sset))

    def subsetsRecur(self, current, sset):
        if sset:
            return self.subsetsRecur(current, sset[1:]) + self.subsetsRecur(current + [sset[0]], sset[1:])
        return [current]
print(py_solution().sub_sets([4,5,6]))
该代码计算给定集合的功率集。它是标准递归算法的直接实现。有关算法的定义,请参见

,只需添加一条print语句,您将看到一切是如何发展的。