Tag: permutation

具有独特价值的排列

itertools.permutations生成的地方,其元素被视为唯一的基础上他们的立场,而不是他们的价值。 所以基本上我想避免这样的重复: >>> list(itertools.permutations([1, 1, 1])) [(1, 1, 1), (1, 1, 1), (1, 1, 1), (1, 1, 1), (1, 1, 1), (1, 1, 1)] 之后过滤是不可能的,因为在我的情况下,排列的数量太大了。 有人知道一个合适的algorithm吗? 非常感谢你! 编辑: 我基本想要的是以下几点: x = itertools.product((0, 1, 'x'), repeat=X) x = sorted(x, key=functools.partial(count_elements, elem='x')) 这是不可能的,因为sorted创build一个列表和itertools.product的输出是太大了。 对不起,我应该描述实际的问题。