如何从 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 (将#修改为@)