我使用了 itertools.combinations(iterable,k) 方法,这对于大型测试用例来说非常耗时。有什么方法可以让它更快。
例如,我有一个数字列表:[1,2,3]
列表的所有可能的“2”组合:[(1,2),(1,3),(2,3)]
感谢任何帮助。
请您参考如下方法:
itertoools.combinations(i, k) 非常高效。我想您发现它耗时的原因是因为您正在将生成器立即转换为列表:list(itertools.combinations(i, k))。但是,您可以根据需要在 for 循环中逐一使用这些值,如下所示:
for item in itertools.combinations(i, k):
#do stuff with each combination
