寻找一种模拟嵌套循环(或笛卡尔乘积)的方法,我遇到了itertools.product函数。 我需要一个函数或一段代码接收整数列表作为输入并返回一个特定的生成器。python input for itertools.product
例如:
输入= [3,2,4] - >根=产物(x范围(3),x范围(2),x范围(4))
或
输入= [2,4, 5,6] - > gen = product(xrange(2),xrange(4),xrange(5),xrange(6))
作为列表的大小变化我很困惑如何做到这一点而不需要基于疯狂的ifs数量和列表大小进行大量的预编码。
调用产品(范围(3))或产品(xrange(3))也有区别吗?
1让我补充两个细节:1)在Python 3,'范围()'行为就像'的xrange()'2)在实施CPython的Python 2的'xrange'仅限于C'long'数据类型(即''xrange(int(2 ** 31-1))'通常是最大范围)。击中那一次... – stephan 2010-06-11 07:59:22