python如果语句太长和难看,有没有办法缩短它

这个问题在这里已经有了答案:

  • 替代Python中的switch语句? 44个答案

  • 有一个包含给定p的y值的字典

    p={"A":10,.....}
    y=dict[p]
    

    没有可能缩短这段代码。 正如您可能已经注意到的那样,python不提供任何switch-case语句。

    根据您的使用情况,您可以将其更改为字典或按值重新计算:

    values = { "A": 10, "B": 11, "C": 12, "D": 13, "E": 14, "F": 15 }
    y = values[p]
    

    要么

    y = ord(p) - ord("A") + 10
    

    使用字典:

    choice = {
        "A": 10,        
        "B": 11,
        "C": 12,
        "D": 13,
        "E": 14,
        "F": 15
    }[selected]
    

    即。

    selected = "A"
    choice = {
        "A": 10,        
        "B": 11,
        "C": 12,
        "D": 13,
        "E": 14,
        "F": 15
    }[selected]
    
    print choice
    >>> 10
    

    通过在dict末尾立即添加[selected]可以很容易地获得一个字典,就像控制流语句一样。 使用这种模式,它总是会评估案件。

    链接地址: http://www.djcxy.com/p/42755.html

    上一篇: python if statement too long and ugly, is there a way to shorten it

    下一篇: Since Python doesn't have a switch statement, what should I use?