我正试图通过两种方式在Scheme中实现powerset函数。一种方法是使用尾递归,我是这样做的: (if (null?list) '(()) ;; if list is empty, its powerset is a list containing对于每个这样的元素,我应该向powerset添加一些新元素。这些应该是哪些元素?为powerset中的每个现有元素添加一个新元素
我对Python3很陌生,并且正在尝试执行递归powerset函数。它应该使用列表理解。我写道: if not seq: return powerset(seq[1:]) + [[seq[0]] +n for n in powerset(seq[1:])]
这个函数可以工作,但我得到了反馈,并被告知没有必要调用该函数两次。