返回的Pythonic方式(value=';ok';)';好的';:';挪威克朗'`

返回的Pythonic方式(value=';ok';)';好的';:';挪威克朗'`,python,python-2.7,Python,Python 2.7,可能重复: 我有这个问题,不知道要问谷歌这个: (值='ok')?'“正常”:“不正常” 我的意思是,语法与: (expression) ? (return if <expresion> is true) : (return this value if <expresion> is false (表达式)?(如果为true,则返回):(如果为false,则返回此值 简易豌豆: 'String ok' if value == 'ok' else 'String nok'

可能重复:

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

(值='ok')?'“正常”:“不正常”

我的意思是,语法与:

(expression) ? (return if <expresion> is true) : (return this value if <expresion> is false
(表达式)?(如果为true,则返回):(如果为false,则返回此值
简易豌豆:

'String ok' if value == 'ok' else 'String nok'
这是一个。

这个案子怎么样:

{True: 'String ok', False: 'String nok'}[value == 'ok']

*不要太认真:)

注意,这被称为“三元运算符”。在C中,这被称为“三元运算符”,谷歌
python三元运算符将告诉你你想去哪里。我猜否决票来自于认为这是一个微不足道的答案的人,但是如果你不知道要找的术语,实际上很难找到+1@mgilson正如我所写的:我不知道如何向谷歌索取。。我不知道这个名字grammar@WBAR--无论如何,我支持Lattyware,我也不同意downvote…还伪装成三元表达式。尽管“条件表达式”是一个更好的名称。即使在C语言中,“三元运算符”也是一个相当愚蠢的名字;这就像调用
+
“二进制运算符”。这类似于在添加
if-else
语法之前的老方法。但是我过去常常用元组来查看它,因为bool将求值为0或1:
('notok','OK')[value==“OK”]
@jdi,这仍然是(gasp)代码中流行的做法