Python代码错误sum()函数语法在一个平台上工作而不是在另一个平台上

2024-09-30 04:41:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我在使用Python(继承代码)时出错。在一个平台上工作的Sum()函数调用在另一个平台上不起作用——我认为这是由于一些跨平台不兼容的语法造成的。我得到的错误是:

bsrlx1(112)% /usr/bin/python run-print.py init data
  File "run-print.py", line 105
    val = sum(1 if x >= 0.5 else 0 for x in metricC[key]);
                 ^
SyntaxError: invalid syntax

尽管这种语法在其他地方也可以使用。有没有人知道语法的变化或是什么问题??在

我调用的Python版本是: Python2.4.3(2011年4月14日,20:41:59) [GCC 4.1.2 20080704(Red Hat 4.1.2-50)]关于linux2

我的程序中的头文件是:

^{pr2}$

所以我想我可能用的是2.5版


Tags: run代码pydatabininitusr错误
2条回答

正如您所发现的,这些代码不必要地复杂,不能在Python2.4上运行。改为:

val = sum(1 for x in metricC[key] if x >= 0.5)

优点:(1)将在Python2.4上运行(2)不必解释添加布尔函数(3)效率更高(不浪费时间添加零)(4)最后没有愚蠢的;。在

您使用的是一个conditional expression,它是在Python2.5中添加的。在

您不是在运行/usr/bin/python2.5,而是在使用/usr/bin/python(即2.4)。要使用文件中指定的解释器运行它,请使其可执行,然后直接运行:

chmod +x run-print.py
./run-print.py

不过,除非您的发行版有专门的后端口包,否则不太可能安装Python2.5。在

相关问题 更多 >

    热门问题