我是Python的新手,我正在尝试基本上创建一个哈希表,检查一个键是否指向表中的值,如果不是,则将其初始化为空数组.我的代码的违规部分是行:
converted_comments[submission.id] = converted_comments.get(submission.id, default=0)
Run Code Online (Sandbox Code Playgroud)
我收到错误:
TypeError: get() takes no keyword arguments
Run Code Online (Sandbox Code Playgroud)
但是在文档(以及各种示例代码)中,我可以看到它确实采用了一个默认参数:
https://docs.python.org/2/library/stdtypes.html#dict.get http://www.tutorialspoint.com/python/dictionary_get.htm
以下是get()方法的语法:
dict.get(key,default = None)
在堆栈上没有任何关于这个,所以我认为这是一个初学者的错误?
use*_*ica 102
由于Python C级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
Run Code Online (Sandbox Code Playgroud)
GWW*_*GWW 23
错误消息说get没有关键字参数,但是你提供了一个default=0
converted_comments[submission.id] = converted_comments.get(submission.id, 0)
Run Code Online (Sandbox Code Playgroud)
小智 12
许多文档和教程,例如https://www.tutorialspoint.com/python/dictionary_get.htm,错误地将语法指定为
dict.get(key, default = None)
代替
dict.get(key, default)
| 归档时间: |
|
| 查看次数: |
52304 次 |
| 最近记录: |