用于'return(value =='ok')的pythonic方式?'ok':'nok'`

WBA*_*BAR 23 python python-2.7

可能重复:
Python中的三元条件运算符

我有这个问题,不知道谷歌这个问题:

(value == 'ok') ? 'ok' : 'not ok'

我的意思是语法:

(expression) ? (return if <expresion> is true) : (return this value if <expresion> is false
Run Code Online (Sandbox Code Playgroud)

Mar*_*ers 33

十分简单:

'String ok' if value == 'ok' else 'String nok'
Run Code Online (Sandbox Code Playgroud)

这是一个条件表达式.

  • 虽然"条件表达式"是一个更好的名称.即使在C"三元运算符"中也是一个相当愚蠢的名字; 这就像调用`+`"二元运算符". (18认同)
  • 也伪装成三元表达. (2认同)

def*_*fuz 11

这个案子怎么样:

{True: 'String ok', False: 'String nok'}[value == 'ok']
Run Code Online (Sandbox Code Playgroud)

*不要认真对待:)

  • 在添加`if else`语法之前,这类似于旧方法.但我曾经用元组看到它,因为bool将eval为0或1:`('不行','OK')[value =="ok"]` (8认同)