美文网首页
Python如何一行写完if elif else

Python如何一行写完if elif else

作者: 一起学分析 | 来源:发表于2018-12-28 15:37 被阅读31次

    Python中的if elif else结构通常如下:

    if cond1:
        a=1
    elif cond2:
        a=2
    else:
        a=3
    

    在特殊情况下,我们可能希望把这个条件语句写成一行,如(列表推导式中)。
    结论就是,将上述结构改为:

    结果甲 if 条件甲 else 结果乙 if 条件乙 else 结果丙

    如下例:
    希望对一个字符串数据进行判断,获取一个该二手房信息属于哪种类型的房产:判断依据就是,如果字符串中含有别墅则是别墅,如果含有车位即为车位,其他为高层。

    a='大鼎世纪滨江 | 车位 | 39.09平米 | 东 | 无电梯'
    b='恒大城二期 | 2室2厅 | 71.49平米 | 东南 | 精装 | 有电梯'
    c='协信彩云湖1号 | 叠拼别墅 | 5室2厅 | 280.49平米 | 南 | 简装 | 无电梯'
    
    #实现代码
    tpye="别墅" if "别墅" in a else "车位" if "车位" in a else "高层"
    
    #结果
    In [177]: "别墅" if "别墅" in a else "车位" if "车位" in a else "高层"
    Out[177]: '车位'
    
    In [178]: "别墅" if "别墅" in b else "车位" if "车位" in b else "高层"
    Out[178]: '高层'
    
    In [179]: "别墅" if "别墅" in c else "车位" if "车位" in c else "高层"
    Out[179]: '别墅'
    

    相关文章

      网友评论

          本文标题:Python如何一行写完if elif else

          本文链接:https://www.haomeiwen.com/subject/itzslqtx.html