Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Python if语句"SyntaxError:无效语法“

Python if语句"SyntaxError:无效语法“
EN

Stack Overflow用户
提问于 2010-08-02 06:37:25
回答 3查看 3.8K关注 0票数 0

试图执行某人的代码,得到一个语法错误。不知道为什么:(

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
def GetParsers( self, systags ):
    childparsers = reduce( lambda a,b : a+b, [[]] + [ plugin.GetParsers( systags ) for plugin in self.plugins ] )
    parsers = [ p for plist in [ self.parsers[t] for t in systags if self.parsers.has_key(t) ] for p in plist ]
    return reduce( lambda a,b : ( a+[b] if not b in a else a ), [[]] + parsers + childparsers )

错误是

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
File "base.py", line 100
    return reduce( lambda a,b : ( a+[b] if not b in a else a ), [[]] + parsers + childparsers )

Python版本

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Python 2.2.3 (#1, May  1 2006, 12:33:49)
[GCC 3.2.3 20030502 (Red Hat Linux 3.2.3-54)] on linux2

                                         ^                                             
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-08-02 06:48:47

条件表达式是在2.5 (source)中添加的-您有2.2版本。所以我担心你没有条件表达式。它们只是在那个版本中还不存在。如果可以的话,一定要更新(不只是这个小小的改变,从06年以来已经有上千个了)。

票数 5
EN

Stack Overflow用户

发布于 2010-08-02 06:51:35

您需要将Python安装升级到至少2.5。More Information

票数 4
EN

Stack Overflow用户

发布于 2010-08-02 08:38:43

升级到较新版本的Python将是最好的解决方案,但如果由于某些原因无法升级,您可以将代码更新为使用the and-or trick

所以这就是:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
>>> 'a' if 1 == 2 else 'b'
'b'

变成:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
>>> (1 == 2) and 'a' or 'b'
'b'

这里有一个小问题,如果你为True返回的值本身计算为False,那么这个语句就不会像你想要的那样工作。您可以按如下方式解决此问题:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
>>> ((1 == 2) and ['a'] or ['b'])[0]
'b'

在这种情况下,因为值是一个非空列表,所以它永远不会计算为False,所以这个技巧总是有效的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3385539

复制
相关文章
Python语句与语法
在python里是不使用{}或者别的符号来限制语句的开始和结尾的,一个语句的开始(除了复合语句),就是开头,换行就是结束。在开头,不能随意增加空格:
没有故事的陈师傅
2019/07/28
1.2K0
你一定遇到过Python中的无效语法:SyntaxError---常见原因以及解决办法
Python以其简单的语法而闻名。然而,当您第一次学习Python时,或者当您具有另一种编程语言的坚实背景时,您可能会遇到一些Python不允许的事情。如果您在尝试运行Python代码时收到过SyntaxError错误,那么本指南可以帮助您。在本教程中,您将看到Python中常见的无效语法示例,并学习如何解决这个问题。
HuangWeiAI
2020/02/13
28.9K0
【Python】判断语句 ① ( if 语句 | if 语句语法 | 代码示例 )
Python 语言中 , 通过空格缩进 , 判断代码的归属 , 相当于 其它语言的 大括号 ;
韩曙亮
2023/10/11
1700
【Python】判断语句 ① ( if 语句 | if 语句语法 | 代码示例 )
【Python】判断语句 ① ( if 语句 | if 语句语法 | 代码示例 )
Python 语言中 , 通过空格缩进 , 判断代码的归属 , 相当于 其它语言的 大括号 ;
韩曙亮
2023/10/11
3290
【Python】判断语句 ① ( if 语句 | if 语句语法 | 代码示例 )
Python基础语法-控制流程语句-for
Python是一种高级编程语言,它具有简单易学、易于阅读、灵活性强等特点,是最受欢迎的编程语言之一。控制流程语句是Python语言的重要组成部分之一,控制流程语句可以控制程序的执行流程,从而实现特定的逻辑和功能。
玖叁叁
2023/04/17
7060
Python基础语法-控制流程语句-if
在Python中,if语句用于控制程序在满足某个条件时执行不同的操作。if语句的语法格式如下:
玖叁叁
2023/04/17
2400
Python3学习笔记 | 十四、Python的语句与语法-if语句
在Python里,if语句是选取要执行的操作。这个是在Python里主要的选择工具,代表Python程序所拥有的大多数逻辑。在之前章节也使用过,但是在整个过程中这是首次说明复合语句。在子语句里可以使用任何语句,包涵if语句在内。 格式:
TeamsSix
2019/09/24
5810
Python3学习笔记 | 十五、Python的语句与语法-while语句与for语句
在Python里,while语句是最常见的循环语句。先看一下while语句的一般格式:
TeamsSix
2019/09/24
7970
Python基础语法——代码规范&判断语句&循环语句
Python没有像其他语言一样用{}包裹着代码块,Python是严格按照缩进来区分代码块的,所以推荐tab 与 空格 尽量不要混用,代码多了空格多一个少一个眼睛看瞎了也找不出...
测试开发社区
2020/05/14
1.3K0
Python基础语法——代码规范&判断语句&循环语句
Python基础语法——代码规范&判断语句&循环语句
Python没有像其他语言一样用{}包裹着代码块,Python是严格按照缩进来区分代码块的,所以推荐tab 与 空格 尽量不要混用,代码多了空格多一个少一个眼睛看瞎了也找不出...
Python进阶者
2020/05/19
8790
Python|try/except捕捉SyntaxError
大家在编写程序的时候,多多少少都会出现各种问题。有的时候会让你的程序根本无法运行起来,有的时候会让你的程序在运行过程中出毛病。如果是第一种情况,我们把这个问题叫做程序错误;如果是第二种情况,我们把这个问题叫做程序异常。
不可言诉的深渊
2019/07/26
1.9K0
Python基础语法-控制流程语句-while
在Python编程中,while语句是一种非常重要的控制流程语句,它可以帮助我们实现循环执行代码的功能。
玖叁叁
2023/04/17
2480
Python基础语法-控制流程语句-continue
在Python编程中,控制流程语句是非常重要的,可以通过控制流程语句来改变程序的执行顺序。其中,continue语句是一种控制流程语句,用于跳过当前循环中的某些代码,并继续执行下一轮循环。
玖叁叁
2023/04/17
4270
Python基础语法-控制流程语句-break
在Python编程中,控制流程语句是非常重要的,可以通过控制流程语句来改变程序的执行顺序。其中,break语句是一种控制流程语句,用于结束循环语句的执行,跳出循环体。本文将详细介绍break语句的语法、示例和注意事项。
玖叁叁
2023/04/17
2400
Python3学习笔记 | 十一、Python的语句与语法-语句简介
在Python里是不使用{}或者别的符号来限制语句的开始和结尾的。一个语句的开始(除了复合语句),就是开头,换行就是结束。在开头,不能随意增加空格:
TeamsSix
2019/09/24
7230
Python3学习笔记 | 十一、Python的语句与语法-语句简介
【Python】判断语句 ② ( if else 语句 | if else 语句语法 | Python 中的空格缩进 | 代码示例 )
Python 语言中 , 通过空格缩进 , 判断代码的归属 , 相当于 其它语言的 大括号 ;
韩曙亮
2023/10/11
2760
【Python】判断语句 ② ( if else 语句 | if else 语句语法 | Python 中的空格缩进 | 代码示例 )
【Python】判断语句 ③ ( if elif else 语句 | 语法简介 | 代码示例 )
初次判定 , 先进行 条件 1 判定 , 如果 条件 1 满足 则执行 条件 1 对应动作 ,
韩曙亮
2023/10/11
2500
【Python】判断语句 ③ ( if elif else 语句 | 语法简介 | 代码示例 )
【Python系统学习03】错误类型整理(一)
在 Python 中,默认所有正确的语法,包括标点符号都是【英文】。不小心用了中文标点的话,计算机会无法识别,然后报错。
xing.org1^
2020/02/12
1.7K0
Python while循环语句语法格式和用法
在python语言中,和if类似的循环语句还有一个while语句,准确的说if属于判断语句,对多重情况进行判断后执行一个结果,而while更像一个循环,只要条件为真就会一直执行下去,甚至陷入死循环。下面我们来看看。
python自学网
2021/11/30
8070
Python while循环语句语法格式和用法
python学习第四讲,python基础语法之判断语句,循环语句
if是判断条件成立该执行那个代码块, else 则是不成立则执行那个代码块 语法如下:
IBinary
2019/05/25
7690

相似问题

If语句SyntaxError:语法无效?

22

Python: elif语句显示"syntaxError:无效语法“

14

Python SyntaxError:有效语句的无效语法

31

(python) SyntaxError:无效语法

114

SyntaxError:无效语法Python

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文