我知道如何创建一个组合矩阵,但我想要更有活力的东西。例如,下面创建一个矩阵,其中包含A、B和C的所有可能组合:
A = [0, 1, 2]
B = [3, 5, 7]
C = [10, 20, 30]
MATRIX = []
for a in A:
for b in B:
for c in C:
MATRIX.append([a, b, c])我想要一些更动态的东西,我可以有A,B,C,.....N列表。我所要定义的就是每个列表中的值,然后我希望它生成一个包含所有可能组合的Matrix。
我该怎么做呢?
发布于 2021-07-22 00:54:23
使用itertools.product,您可以传递任意数量的迭代器:
from itertools import product
print(list(product(A, B, C)))输出:
[(0, 3, 10), (0, 3, 20), (0, 3, 30), (0, 5, 10), (0, 5, 20), (0, 5, 30), (0, 7, 10), (0, 7, 20), (0, 7, 30), (1, 3, 10), (1, 3, 20), (1, 3, 30), (1, 5, 10), (1, 5, 20), (1, 5, 30), (1, 7, 10), (1, 7, 20), (1, 7, 30), (2, 3, 10), (2, 3, 20), (2, 3, 30), (2, 5, 10), (2, 5, 20), (2, 5, 30), (2, 7, 10), (2, 7, 20), (2, 7, 30)]如果你想要一个列表列表,而不是元组列表,只要写一个简单的“列表理解”即可。
https://stackoverflow.com/questions/68473538
复制相似问题