有约束的Python排列

有约束的Python排列,第1张

有约束的Python排列

这种方法使用简单的过滤器过滤排列。

import itertoolsgroups = [(1,2),(3,4,5),(6,7)]groupdxs = [i for i, group in enumerate(groups) for j in range(len(group))]old_combo = []for dx_combo in itertools.permutations(groupdxs):    if dx_combo <= old_combo: # as simple filter        continue    old_combo = dx_combo    iters = [iter(group) for group in groups]    print [next(iters[i]) for i in dx_combo]

我们在这里所做的是查找多集的置换。(在这种情况下,多重集为

groupdxs
。)这是
一篇详细介绍O(1)算法的论文。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5649335.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存