大家。
我的情况如下:我试图将lambda函数用作字典键值。关键是我想做一个涉及其值的specefic键的操作。
def constraints(var):
pars=[(x,y) for x in var for y in var if x!=y and var.index(x) < var.index(y)]
cons=dict()
for i in range(0, len(pars)):
rest= pars[i][0]-pars[i][1]
cons[pars[i]]= lambda x, y: abs(x-y)!=abs(rest)
return cons
我已经调试了因为这个例子print(constraints([1,2,3,4])[(1,4)](2,3))
它返回false而不是true,我发现当print函数调用约束函数时,&#34; i&#34;是最后一次迭代之一,当它必须是-3时,rest是-1。
谢谢。