这种结构的Pythonic成语

时间:2017-10-08 07:18:34

标签: python python-2.7

是否有更多的pythonic写作方式:

if value <= 10:
    print 1
elif value <= 13:
    print 2
elif value <= 15:
    print 3
elif value <= 24:
    print 4

被测试的值不属于任何模式。

1 个答案:

答案 0 :(得分:-1)

不确定这是否更像Pythonic,但这可能是做同样事情的另一种方式:

d = {1: [float('-inf'), 10], 2: [11, 13], 3: [14, 15], 4: [16, 24]}
[print i for i in d if value >= d[i][0] and value <= d[i][1]]

在此处,您可以将每个条件的下限和上限编码到字典中,并打印value所在的相应范围的键。