使if语句更短

时间:2018-07-10 19:20:03

标签: python optimization code-formatting

我有以下代码:

if sys.argv[2].isdigit() and sys.argv[3].isdigit() and sys.argv[2] >='3' and sys.argv[3] >='3':
    print 'works'
else:
    sys.exit()

这是可行的,但是我尝试找到一种方法来制作“如果sys.argv [2] .isdigit()和sys.argv [3] .isdigit()和sys.argv [2]> ='3 '和sys.argv [3]> ='3':“更短,更漂亮。有什么办法可以做到这一点?谢谢!

1 个答案:

答案 0 :(得分:4)

这是一个很好的,可扩展的条件来代替您的条件:

all(map(lambda x: x.isdigit() and int(x) > 3, sys.argv[2:4]))

如果sys.argv[2:4]的所有元素都大于3,这将是正确的。这对于检查两个数字也可能会过大,但比单独检查所有内容更具可读性,任何人都应该清楚知道谁会读到您正在尝试做的事情。