python-3.x - 如何从 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 中编写一些有效的代码?
解决方案
推荐阅读
- json - 如何显示存储在 React 状态中的 JSON 源中的数据 - TypeError:无法读取未定义的属性“地图”
- sqlkata - SqlKata - 有没有办法告诉 SqlKata 编译器在构建查询字符串时不包装标识符?
- java - Android Studio APP在虚拟/真实设备上的差异
- matplotlib - 如何将小部件放置在面板 HoloViews 动态地图上
- excel - 如何在 VBA 上制作查询页面模板
- python - 在二级索引上有效地组合数据帧
- html - 当屏幕变宽时,响应时间线指针正在移动
- azure - 我有一个应用服务计划和 4 个应用服务。所有应用服务使用相同的应用服务计划
- python - 不一致的 Python 错误 - 类在终端中可以正常工作,但在脚本中不能正常工作
- browser - 是否可以永久禁用自动滚动?