Python 2.5新增的if...else条件表达式
2009 3 26 10:50 PM 2862次查看
演示如下:
>>> a = 1 if 2 == 3 else 4
>>> a
4
>>> isLeapYear = lambda year: not (year % 4 if year % 100 else year % 400) # 判断闰年
>>> isLeapYear(1234)
False
>>> isLeapYear(1236)
True
>>> isLeapYear(1000)
False
>>> isLeapYear(2000)
True
>>> [i + 1 if i % 2 for i in xrange(10)] # 不能省略else
File "<stdin>", line 1
[i + 1 if i % 2 for i in xrange(10)]
^
SyntaxError: invalid syntax
>>> [i + 1 if i % 2 else i for i in xrange(10)]
[0, 2, 2, 4, 4, 6, 6, 8, 8, 10]
>>> [i % 2 and i + 1 or i for i in xrange(10)] # 之前的语法
[0, 2, 2, 4, 4, 6, 6, 8, 8, 10]
不过还是Ruby更方便~
0条评论 你不来一发么↓