此 python 代码使用字典理解和条件表达式不起作用
This python code which uses dictionary comprehension with a conditional expression doesn't work
此 python 代码无效。
为什么?
任何替代代码?
谢谢!
def suppress(D, threshold):
return {i:0 if x < threshold else i:x for (i, x) in D.items()}
条件表达式是表达式,它们需要两个不同的表达式计算出一个值,
<expression 1> if <boolean expression> else <expression 2>
但是i:0
不是表达式,它是字典显示的部分(这是一个表达式)。但就其本身而言,它只是一个语法错误。
你想要:
{i: <conditional expression> for (i, x) in D.items()}
或更完整地,
{i: 0 if x < threshold else x for (i, x) in D.items()}
此 python 代码无效。
为什么?
任何替代代码?
谢谢!
def suppress(D, threshold):
return {i:0 if x < threshold else i:x for (i, x) in D.items()}
条件表达式是表达式,它们需要两个不同的表达式计算出一个值,
<expression 1> if <boolean expression> else <expression 2>
但是i:0
不是表达式,它是字典显示的部分(这是一个表达式)。但就其本身而言,它只是一个语法错误。
你想要:
{i: <conditional expression> for (i, x) in D.items()}
或更完整地,
{i: 0 if x < threshold else x for (i, x) in D.items()}