【问题标题】:Python: Efficient way of having ternary operator [duplicate]Python:拥有三元运算符的有效方法[重复]
【发布时间】:2019-03-19 12:10:07
【问题描述】:

我试图找到在 python 中使用三元运算符的最佳方法,但没有找到确凿的信息。如下所示,使用 lambda 是最好的方法吗?在一行中执行以下操作的最佳方法是什么?

return (lambda: "Yes", lambda: "No") ['hello' == 'hello']()

【问题讨论】:

    标签: python lambda ternary-operator


    【解决方案1】:

    如果你使用 If-else,Python 确实有一个三元运算符:

    return 'Yes' if 'hello' == 'hello' else 'No'
    

    你也可以使用字典或列表,但我不明白你为什么会这样做:

    return ['No', 'Yes']['hello' == 'hello']
    
    return {1: 'Yes'}.get('hello' == 'hello', 'No')
    

    【讨论】:

    • 如果我在我从事的任何项目中发现了最后两个混淆中的任何一个,我都会对把它放在那里的人有强烈的话语权......
    猜你喜欢
    • 2011-05-05
    • 2020-06-20
    • 2016-04-28
    • 2020-05-21
    • 1970-01-01
    • 1970-01-01
    • 2020-12-15
    • 2015-09-07
    • 2015-03-25
    相关资源
    最近更新 更多