我正在尝试编写一个函数,该函数将在输入上获取一个数组并返回数组数组,其中包含输入数组的所有可能子集(没有空元素的幂集)。例如对于输入:[1, 2, 3]
结果将是[[1], [2], [3], [1, 2], [1, 3], [2, 3], [1, 2, 3]]
.
这个函数在 python 中完成了这项工作:
def list_powerset(lst):
result = [[]]
for x in lst:
result += [subset + [x] for subset in result]
result.pop(0)
return result
但我正在寻找在 Delphi 中实现它。这有可能以这种方式完成还是我应该寻找其他东西?