setdefault() 不接受关键字参数

3 投票
2 回答
5174 浏览
提问于 2025-04-18 09:26

我有以下这段代码:

mirna2age = {}
for i in agesdb:
    mirna2age.setdefault(i[0],default=[]).append(i[1])

但是,Python 返回了

TypeError: setdefault() takes no keyword arguments

我不太明白为什么会这样。有没有人能给点建议?

2 个回答

2

这个提示是说,函数的参数是按位置来传递的,所以你需要把调用的方式改成:

    mirna2age.setdefault(i[0], []).append(i[1])

这个信息是在告诉你,这个函数没有定义命名参数。

7

设置默认值应该这样使用:

mydict.setdefault(key, defaultvalue)

不要使用关键字参数,只需将默认值作为第二个参数提供即可。

撰写回答