首页 > 解决方案 > 如何从 N 个数字列表中生成 k 个数字的组合(其中 N 可能是 >>> k)?

问题描述

我得到了一个“N”个数字的列表,例如 [1,2,5,7,7,8],我想生成“k”个元素的所有组合(假设 k = 2)。对于 k = 2,解决方案将是 (1,2)、(1,5)、(1,7) 等等,给出 C(6, 2) 的总组合。我不想使用 itertools.combinations 因为 N 可能大到 10^5,这可能会使代码非常慢。您能否在不使用上述任何类型的库的情况下在 python 中编写一些有效的代码?

标签: python-3.x

解决方案


推荐阅读