0

我正在尝试结合以下 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"
4

2 回答 2

6

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

(但是请注意,合并后的版本与原始版本的功能不同。您应该使用or而不是and那样。)

于 2013-02-25T05:08:37.363 回答
2

您的第二个陈述不等于前两个。请注意,如果满足这 2 个 if 块中的任何一个,则会打印“match”。

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

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

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

是的,这是组合这些块的最干净和最简单的方法。

于 2013-02-25T05:12:39.187 回答