入力で配列を受け取り、入力配列のすべての可能なサブセットを含む配列の配列を返す関数を作成しようとしています(空の要素なしでべき集合)。たとえば、入力[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での実装を探しています。これはこの方法で達成することは可能ですか、それとも他の何かを探す必要がありますか?