defaultdict未定义

jas*_*son 19 python python-3.x

使用python 3.2.

import collections
d = defaultdict(int)
Run Code Online (Sandbox Code Playgroud)

NameError: name 'defaultdict' is not defined
Run Code Online (Sandbox Code Playgroud)

我重新启动了Idle.我知道正在导入集合,因为打字

collections
Run Code Online (Sandbox Code Playgroud)

结果是

<module 'collections' from '/usr/lib/python3.2/collections.py'>
Run Code Online (Sandbox Code Playgroud)

还有帮助(集合)向我展示了包括defaultdict类在内的帮助.

我究竟做错了什么?

Mar*_*cin 32

你没有进口defaultdict.要么:

from collections import defaultdict
Run Code Online (Sandbox Code Playgroud)

要么

import collections
d = collections.defaultdict(list)
Run Code Online (Sandbox Code Playgroud)


ars*_*jii 29

>>> import collections
>>> d = collections.defaultdict(int)
>>> d
defaultdict(<type 'int'>, {})
Run Code Online (Sandbox Code Playgroud)

您可能应该阅读有关import声明的内容.


小智 8

你需要写:

from collections import defaultdict
Run Code Online (Sandbox Code Playgroud)