为Python 2解压缩打印列表

use*_*781 7 python printing python-2.7 python-3.x

我在理解为什么解压缩不能与Python 2.7中的list和print语句一起使用时遇到问题:

>>> l=['a', 'b', 'c']
>>> print (*l, sep='')
Run Code Online (Sandbox Code Playgroud)

Python 3.x工作正常并打印:

abc
Run Code Online (Sandbox Code Playgroud)

但是,Python 2.7引发了一个错误:

 print (*l, sep='')
       ^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)

我怎样才能使它适用于Python 2.7?

我知道我可以使用join来代码编写: ''.join(l)

Jim*_*ard 8

因为print它不是Python 2中的函数; 如果它不是函数,则无法解压缩列表并将其作为位置参数提供.

您需要导入print_functionfrom __future__才能支持此功能:

>>> from __future__ import print_function
Run Code Online (Sandbox Code Playgroud)

现在拆包是可能的:

>>> l = ['a', 'b', 'c']
>>> print(*l, sep='')
abc
Run Code Online (Sandbox Code Playgroud)


Mar*_*ers 5

您有两个选择: