【问题标题】:This python code which uses dictionary comprehension with a conditional expression doesn't work这个使用字典理解和条件表达式的python代码不起作用
【发布时间】:2021-03-27 03:43:10
【问题描述】:

这个 python 代码不起作用。
为什么?
任何替代代码?
谢谢!

 def suppress(D, threshold):
     return {i:0 if x < threshold else i:x for (i, x) in D.items()}

【问题讨论】:

    标签: python dictionary-comprehension


    【解决方案1】:

    条件表达式是表达式,它们需要两个不同的表达式来计算一个值,

    <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()}
    

    【讨论】:

    • juanpa.arrivillaga,非常感谢您的完美回答!
    猜你喜欢
    • 2018-04-01
    • 2015-05-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-02
    • 2023-03-10
    • 2016-01-02
    相关资源
    最近更新 更多