Skip to main content
 首页 » 编程设计

python之获取python列表的所有k个组合的有效方法

2025年05月04日14leader

我使用了 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