我正在寻找一种方法来获得前 50 个可能的组合(固定长度的 20 个)的条件,但我似乎无法找到我正在寻找的东西。我有一个下面的例子。
import itertools
a = array([1,2,5])
b = array([8,9,10])
c = 0
if c == 1:
x = a
y = b
else:
x = b
y = a
mylist = list(itertools.product(x,y,x,y,x,y,x,y,x,y,x,y,x,y,x,y,x,y,x,y))
我的输出是:
(8 1 8 1 8 1 8 1 8 1 8 1 8 1 8 1 8 1 8 1)
(8 1 8 1 8 1 8 1 8 1 8 1 8 1 8 1 8 1 8 2)
(8 1 8 1 8 1 8 1 8 1 8 1 8 1 8 1 8 1 8 5)
(8 1 8 1 8 1 8 1 8 1 8 1 8 1 8 1 8 2 8 1)
(8 1 8 1 8 1 8 1 8 1 8 1 8 1 8 1 8 2 8 2)
(8 1 8 1 8 1 8 1 8 1 8 1 8 1 8 1 8 2 8 5)
.
.
等等..
我已经遇到了内存错误。我觉得这个组合太多了,所以我只想得到前50个。有没有办法做到这一点?
提前致谢!