我有一些代码来测试我编写的其他代码(在ipython笔记本中)。
print_closest = lambda w, wl: print('{}: {} ({})'.format(w, *closest_match(w, wl)))
这是我的代码,它适用于python 3环境。但是,它不适用于python 2.7。相反,它会抛出一个错误。
print_closest = lambda w, wl: print('{}: {} ({})'.format(w, *closest_match(w, wl)))
^
SyntaxError: invalid syntax
我想对上面的代码进行更改,以使其在python2.7环境以及python3上运行。
任何人都可以告诉我怎么样?提前谢谢。
答案 0 :(得分:1)
在Python 2中,contained *arr
是一个语句,而不是一个函数,不能在print
表达式中使用。您可以通过添加lambda
功能来使其工作:
print_function
答案 1 :(得分:1)
在Python 2中,bundle install
是一个语句,而不是一个函数(作为一个函数,使用它将是一个表达式)。 $ rm -rf vendor/bundle
$ bundle install
只能由表达式组成,而不是完整的语句。
也就是说,你可以在Py2上获得Py3 print
函数。在要切换的模块中,添加以下内容作为文件中的第一行代码(在任何shebang或编码注释之后,在其他所有内容之前):
lambda