Python 使用条件检查生成组合的最有效方法

Python 使用条件检查生成组合的最有效方法,python,combinatorics,cpython,Python,Combinatorics,Cpython,在python中,提供了为给定列表n和长度L生成的方法。我正在寻找生成所有组合的最有效/最快速的方法,这些组合满足不是预定义列表的一部分的条件 results = [] for combination in itertools.combinations(n, L): for item in subset_list: if set(combination).issuperset(set(item)): continue else:

在python中,提供了为给定列表n和长度L生成的方法。我正在寻找生成所有组合的最有效/最快速的方法,这些组合满足不是预定义列表的一部分的条件

results = []
for combination in itertools.combinations(n, L):
   for item in subset_list:
       if set(combination).issuperset(set(item)):
          continue
       else:
          results.append(combination)

然而,对于大n来说,这可能变得相当复杂。我在寻找最有效的方法,不首先生成所有的组合,并检查它们的条件成功,但是在生成组合时考虑条件。

列表中什么样的条目是可能的?嗯,自然串,但是让我们假设任何更容易的。通过字典将字符串映射到整数不应该是个问题。:)