功能用于遍历所有元组
问题描述:
我有以下问题: 我想遍历一个给定的列表,并返回最小的所有可能的笛卡尔乘积之和:功能用于遍历所有元组
from itertools import product
z = ((1, 2),(2, 3))
def zmin(tup):
return min(sum(a*a for a in s) for s in product(tup))
zmin(z) --> ERROR MESSAGE
正确的答案应该是这样的:
1*1 + 2*2 = 5
1*1 + 3*3 = 10
2*2 + 2*2 = 8
2*2 + 3*3 = 13
这样ZMIN(Z)= 5
的返回值,你知道我在做什么错? 还有一种颠簸或类似的有效方法?
答
我发现了一个soloution自己: 我加*args
的返回值:
def zmin(tup):
return min(sum(a*a for a in s) for s in product(*tup))
+0
如果解决了您的问题,您可以接受。 –
请始终包含错误信息。它可能告诉你到底你的代码有什么问题:这个'product'至少需要两个参数,而你只能传递一个参数。 –