【问题标题】:Count of all possible combinations from multiple lists [duplicate]来自多个列表的所有可能组合的计数[重复]
【发布时间】:2019-07-16 17:29:38
【问题描述】:

我有清单:

list_a = set(["A", "B", "C", "D", "E", "F"])
list_b = set(["1", "2", "3", "4", "5", "6"])
list_c = set(["red", "yellow", "blue", "green"])  

我想找出这些列表的可能组合的总数(每个列表一项)

使用较小的列表很容易实现这一点

import itertools as it

list_set = [list_a, list_b, list_c] 

len(list(it.product(*list_of_unq_vars)))

这将返回组合的数量。

但是对于较大的列表,我会遇到内存错误。

有没有办法以这种方式计算可能组合的数量,而无需实际创建组合本身(就像我在上面所做的那样)?

非常感谢, J

【问题讨论】:

  • len(list_a) * len(list_b) * len(list_c)?
  • 将每个列表的所有项目的数量相乘(就像@meowgoesthedog 指出的那样)
  • @meowgoesthedog 没有解决你的问题,你的意思是别的吗?

标签: python python-3.x itertools


【解决方案1】:

您需要做的就是将每个列表的长度相乘以获得可能的组合总数:

tempcomb = 1
for l in list_set:
    tempcomb *= len(l)
print(tempcomb)

【讨论】:

  • 请更具体地回答您的问题(解释为什么,什么,编辑代码以使其看起来像代码......)
  • 我输入太快了...
  • 对,现在看起来不错;)
猜你喜欢
  • 2015-09-18
  • 2013-06-04
  • 1970-01-01
  • 1970-01-01
  • 2021-05-10
  • 2020-11-13
  • 1970-01-01
  • 2013-03-03
  • 1970-01-01
相关资源
最近更新 更多