我正在运行带有PyDev v2.6插件的Eclipse SDK v3.6,分别在Linux和Windows上的两台PC上。
我想将元组作为参数传递,例如:
foo = lambda (x,y): (y,x)
print (foo((1,2)))
这在Linux上有效并给出了正确的结果:
> (2,1)
在Windows上会出现错误:
foo = lambda (x,y): (y,x)
^
SyntaxError: invalid syntax
如何解决这个问题?
lambda q:(q[0],q[1]) in states
(interjay也是这样描述的)。 - jogojapandef
。如果你将 lambda 应用于元组的可迭代对象上,itertools
的starmap
会自动为你解包,例如:starmap(lambda x, y: x + y, ((1, 2), (3, 4), (5, 6))) # => (3, 7, 11)
。 - tristanslater