【发布时间】:2016-10-03 14:55:38
【问题描述】:
我有以下问题: 我想遍历给定列表并返回所有可能的笛卡尔积之和的最小值:
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
你知道我做错了什么吗? 还有没有颠簸或类似的有效方法?
【问题讨论】:
-
请始终包含错误消息。它可能会准确地告诉您代码出了什么问题:
product至少需要两个参数,而您只传递一个。