问题描述
运行此代码时
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 (将#修改为@)