我是Python的新手,我尝试创建一个哈希表,检查一个键是否指向表中的值,如果不是,则将其初始化为一个空数组。我的代码中令人不快的部分是行:
converted_comments[submission.id] = converted_comments.get(submission.id, default=0)
我知道错误:
TypeError: get() takes no keyword arguments
但是在文档(以及各种示例代码)中,我可以看到它确实采用了一个默认参数:
https://docs.python.org/2/library/stdtypes.html#dict.get get.htm
下面是get()方法的语法: dict.get(key,default=None)
堆栈上什么都没有,所以我想这是初学者的错误吧?
发布于 2014-06-27 19:09:39
错误消息说get
不接受关键字参数,但是您提供了一个带有default=0
的关键字参数。
converted_comments[submission.id] = converted_comments.get(submission.id, 0)
发布于 2014-06-27 19:12:31
由于Python级API的开发方式,许多内置函数和方法实际上没有它们的参数名称。即使文档调用参数default
,函数也不会将名称default
识别为引用可选的第二个参数。您必须按位置提供该论点:
>>> d = {1: 2}
>>> d.get(0, default=0)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: get() takes no keyword arguments
>>> d.get(0, 0)
0
发布于 2020-09-23 04:03:54
https://stackoverflow.com/questions/24463202
复制相似问题