【发布时间】:2017-04-24 03:30:59
【问题描述】:
我无法理解为什么解包不适用于 Python 2.7 中的 list 和 print 语句:
>>> l=['a', 'b', 'c']
>>> print (*l, sep='')
Python 3.x 可以正常工作并打印:
abc
但是,Python 2.7 会引发错误:
print (*l, sep='')
^
SyntaxError: invalid syntax
如何使它适用于 Python 2.7?
我知道我也可以使用 join 来编写代码:''.join(l)
【问题讨论】:
-
Python 2 中没有
*运算符。 -
@EliSadoff:当然有。这是multiplication operator(在 2 和 3 中)。但是,调用或函数定义中的
*不是运算符,但在 Python 2 中确实存在。 -
@MartijnPieters 让我纠正一下,python 2 中没有一元
*运算符。 -
@EliSadoff:Python 3 中也没有。它不是运算符。它是更大的语法结构的一部分。比如call 或function definition。在 Python 3 中,expression lists 现在支持 Python 2 中不支持的语法。
标签: python python-2.7 python-3.x printing