代码之家  ›  专栏  ›  技术社区  ›  Learn Hadoop

Python用于理解else子句中的dict键和值

  •  0
  • Learn Hadoop  · 技术社区  · 1 年前

    下面是我的样品。Aim希望根据另一个列表中的密钥更新dict。如果列表中存在键,则更新值为+1,否则为-1。我试着用for compensation的方法,但却出现了语法错误。通过简单的for循环,将问题解决。但我正在寻找理解的方法。

    enter image description here

    1 回复  |  直到 1 年前
        1
  •  1
  •   Chris    1 年前

    你似乎试图在词典理解中使用条件表达式,但实际上你想要这样的东西:

    {
      key: (data[key]+1 if key in data else data[key]-1)
      for key in list_update_keys
    }
    

    但这将导致 KeyError 如果触发了wide,因为在这种情况下键不在字典中。