结合两个if语句

时间:2013-02-25 05:07:54

标签: python

我正在尝试合并以下if语句

    if "%s\n" % baseAU in out:
        print "Match"
        count = 1

    if internaldep in pendinggerrits:
        print "match"
        count = 1

我尝试了以下但是有一种更简单的方法

    if  "%s\n" % baseAU in out and internaldep in pendinggerrits:
        print "match"

2 个答案:

答案 0 :(得分:5)

不,没有一种“更简单的方法”将两个条件放在if语句中;你已经拥有的方式非常简洁。

(但请注意,组合版本与原​​始版本的功能不同。您需要使用or代替and。)

答案 1 :(得分:2)

你的第二个陈述不等于前两个。 请注意,如果满足任何2个块中的任何一个,则打印“匹配”。

但是在您的简明版本中,您使用的是and运算符,match只有当它们都正确时才会打印。

如果您打算使用2个独立区块执行的操作,则需要使用OR

 if  "%s\n" % baseAU in out or internaldep in pendinggerrits:
        print "match"

并且是的,这是组合这些块的最简洁和最简单的方法。