我试图得到一个反向发电机组发电机,一个发电机,返回发电机组从最大到最小。在
这是一个标准的发电机组发电机(见this问题):
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)
这就产生了:
^{pr2}$我正在努力:
[1, 2, 3]
[1, 2]
[1, 3]
[2, 3]
[1]
[2]
[3]
[]
有没有办法把发电机倒过来让它从后面工作?在
您可以设置标志并反转范围:
使用Python3,您还可以使用
^{pr2}$yield from
代替chain,并使用map
列出我认为读起来更好的列表:如果需要空列表,请相应地设置开始和停止:
你可以从更大的子集开始。反转选择大小的范围,如下所示:
相关问题 更多 >
编程相关推荐