我正在尝试获得一个逆功率组发生器,一种将功率组从最大到最小返回的发电机。
这是一个标准的发电机组(见这个问题):
from itertools import chain, combinations
def powerset_generator(i):
for subset in chain.from_iterable(combinations(i, r) for r in range(len(i)+1)):
yield list(subset)
这会产生:
[]
[1]
[2]
[3]
[1, 2]
[1, 3]
[2, 3]
[1, 2, 3]
我正在为此努力:
[1, 2, 3]
[1, 2]
[1, 3]
[2, 3]
[1]
[2]
[3]
[]
有什么办法可以逆转发电机,使其从后面工作?