使用print()python 3的sep语法无效

时间:2016-06-05 02:45:30

标签: python-3.x printing

我是Python新手。因此,如果我使用Python 3,我认为不应该发生这个问题。

我有一个列表a(1,2,3,4,5,6)。我想以123456格式打印出来(没有任何空格)。所以我写了这段代码:

a = [1,2,3,4,5,6] 
print(a, sep="")

但我总是得到这个错误:

        print(a, sep="") 
                    ^ 
    SyntaxError: invalid syntax

有人可以帮助我吗?

2 个答案:

答案 0 :(得分:0)

我无法弄清楚为什么代码没有运行,除非是你正在运行python 2解释器(正如@blckknght建议的那样)。但是,当我想这样做时,我使用以下代码,每次都有效:

lst=[1,2,3,4,5,6]
for i in lst: print(i, end="")
print()

希望这有帮助。

答案 1 :(得分:0)

Canopy是python2 based distribution。引用官方文档(强调我的):

  

Enthought Canopy订阅提供 Python 2.7.11 ,很简单   安装和更新400多个预建和测试的科学   和分析Python包,如NumPy,Pandas,SciPy,Matplotlib,   和IPython,PLUS一个集成的分析环境,图形化   调试器,数据导入工具和在线Python Essentials和Python   开发工具培训课程。学术用户可以免费申请   Canopy学术许可证。

如果您一直在该环境中使用打印功能,则必须在__future__导入

前加上
from __future__ import print_function
a = [1,2,3,4,5,6] 
print(a, sep="")

上面的代码在Python 2.7中运行良好。如果没有__future__导入,则会产生您引用的确切异常。