【问题标题】:More optimized way to do itertools.combinations更优化的方式来做 itertools.combinations
【发布时间】:2023-01-26 00:54:05
【问题描述】:

我试图找到 ~70,000 个 ID 的独特组合。 我目前正在执行 itertools.combinations([list name], 2) 以获得唯一的 2 个 ID 组合,但它已经运行了 800 多分钟。 有没有更快的方法来做到这一点?

我尝试将 ID 转换为矩阵,其中 ID 既是索引又是列,并使用 itertools.product 填充矩阵。

我也尝试用循环的手动方式来做。 但是在让它们运行了一整天之后,我的方法都没有真正运行完。

【问题讨论】:

  • 如果您发布您的代码,这将有助于我们帮助您
  • 您正在尝试处理大约 24.5 亿个组合。这将需要一段时间,如果你试图一次将它们全部保存在内存中(就像那个矩阵一样),它可能会占用比你拥有的更多的内存。
  • 您是否尝试过使用集合和元组?如果不是这样,那将大大提高您的表现。另外,您可以提供一些示例 ID 吗?

标签: python combinations python-itertools


【解决方案1】:

您是否试图将每个单独写在一个文件中?也许和他们一起做点别的事?如果您的代码执行 IO,您可以尝试批量处理 ID。

【讨论】:

  • 这充其量只是评论,而不是答案。 (而且声誉低下不是发表评论作为答案的借口。)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-10
  • 1970-01-01
  • 1970-01-01
  • 2021-11-12
  • 2021-12-20
相关资源
最近更新 更多