【发布时间】:2014-05-18 13:33:09
【问题描述】:
我打算使用 itertools 生成一些组合,当我意识到随着元素数量的增加所花费的时间将成倍增加。我可以限制或指示要生成的最大排列数,以便在达到该限制后 itertools 将停止。
我的意思是:
目前我有
#big_list is a list of lists
permutation_list = list(itertools.product(*big_list))
目前这个排列列表有超过 600 万个排列。我很确定如果我再添加一个列表,这个数字将达到十亿大关。
我真正需要的是大量的排列(比如说 5000)。有没有办法限制生成的 permutation_list 的大小?
【问题讨论】:
-
你真的需要这份清单吗?迭代器占用的内存非常少,它的速度与(或超过)列表一样快。
标签: python list permutation itertools