JDr*_*per 0 python python-itertools python-3.x
我有这些清单:
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"])
Run Code Online (Sandbox Code Playgroud)
我想找到这些列表的可能组合总数(每个列表一个项目)
使用较小的列表很容易实现这一点
import itertools as it
list_set = [list_a, list_b, list_c]
len(list(it.product(*list_of_unq_vars)))
Run Code Online (Sandbox Code Playgroud)
这将返回组合的数量.
但是对于较大的列表,我遇到了一个记忆错误.
有没有办法以这种方式计算可能的组合数而不实际创建组合(如上所述)?
非常感谢,J
您需要做的就是将每个列表的长度相乘以获得可能的组合总数:
tempcomb = 1
for l in list_set:
tempcomb *= len(l)
print(tempcomb)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
32 次 |
| 最近记录: |