我在带有Linux和Windows的两台PC上运行带有PyDev v2.6插件的Eclipse SDK v3.6。
我想将元组作为参数传递,例如(仅作为示例):
foo = lambda (x,y): (y,x)
print (foo((1,2)))
这可以在Linux上运行并给出结果:
(2,1)
在Windows上,它会引发错误:
foo = lambda (x,y): (y,x)
^
SyntaxError: invalid syntax
该如何解决呢?
您可能在Windows上运行Python 3.x,在Linux上运行Python2.x。解包元组参数的功能在Python 3中已删除:请参阅PEP 3113。
您可以改为手动解压缩元组,这将在Python 2.x和3.x上都可以使用:
foo = lambda xy: (xy[1],xy[0])
要么:
def foo(xy):
x,y = xy
return (y,x)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句