【发布时间】:2019-02-21 10:09:30
【问题描述】:
我有一个数组,看起来像这样:
arrays = [['a', 'b'], [1, 2], ['x', 'y', 'z']]
但也可以扩展。
我需要以所有可能的组合(a 1 x、a 2 x、a 1 y、a 1 z、ecc)将这些提供给my_function(a_or_b, one_or_two, x_y_or_x)。使用 numpy 是一种选择。
虽然看起来很简单,但我不知道从哪里开始......
是的,我可以像这样循环:
for array in arrays:
for ...
然后呢?遍历数组意味着在我的第二次迭代中arrays[0] 将不再是第一个,我会弄乱顺序。我也会有重复的。
我该怎么做?我不在乎这些函数的调用顺序,但我确实关心它们不会以相同的组合被调用两次并且参数是按顺序排列的。
my_function(a, 1, x)
my_function(b, 1, x)
my_function(a, 2, x)
my_function(b, 2, x)
my_function(a, 1, y)
my_function(b, 1, y)
my_function(a, 2, y)
ecc...
【问题讨论】:
-
试试
itertools.product或 itertools 中其他非常有用的工具之一