微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何从 Python 中的 dict 中删除键

如何解决如何从 Python 中的 dict 中删除键

运行此代码

def mergeYaml(priorityYaml,defaultYaml):
  finalYaml = {}
  if isinstance(defaultYaml,dict):
    for dk,dv in defaultYaml.items():
      if dk in priorityYaml:
        finalYaml[dk] = mergeYaml(priorityYaml[dk],dv)
      else:
        finalYaml[dk] = dv
    for pk,pv in priorityYaml.items():
      if pk in finalYaml:
        if pv == None:
          finalYaml[pk].pop(pk,None) # Error is on this line
        else:
          finalYaml[pk] = mergeYaml(finalYaml[pk],pv)
      else:
        finalYaml[pk] = pv

  else:
    finalYaml = defaultYaml
  return finalYaml

Python 抛出以下错误

pop() takes from 1 to 2 positional arguments but 3 were given

如果我将 pop 更改为使用命名参数

finalYaml[pk].pop(key=pk,default=None)

出现错误

pop() got an unexpected keyword argument 'key'

不知道为什么 Python 认为我传递了 3 个参数,但我怀疑第一个是 self.我只想从字典中删除密钥,而 del finalYaml[pk] 似乎不起作用。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。