我想要一个函数来生成任意数量的数组的叉积。
# Code to generate cross product of 3 arrays
M = [1, 1]
N = [2, 3]
K = [4, 5]
for M, N, K in itertools.product(M, N, K)
如果我想使用*引入函数,什么是实现该功能的好方法?
我尝试了以下代码,但以错误结尾:"TypeError: 'builtin_function_or_method' object is not iterable"
# def cross_product(*inputs):
return itertools.product(inputs)
cross_product(M, N, K)
答案 0 :(得分:2)
实际上,您可以直接使用不带辅助功能的拆包:
import itertools
L = [[1, 1],
[2, 3],
[4, 5]]
for x in itertools.product(*L):
print(x)