2013-07-20 2 views
11

Использование python 3.2.defaultdict не определен

import collections 
d = defaultdict(int) 

пробег

NameError: name 'defaultdict' is not defined 

Ive перезапущен Idle. Я знаю, что коллекции импортируются, потому что печатая

collections 

результатов в

<module 'collections' from '/usr/lib/python3.2/collections.py'> 

также помочь (коллекции) показывает мне помощь в том числе класса defaultdict.

Что я делаю неправильно?

+1

Читайте о 'import'. Он добавляет только имена, которые вы указываете в пространство имен. Например, вы можете использовать 'from collections import defaultdict', или вы можете ссылаться на' defaultdict' как 'collections.defaultdict'. –

+1

Какое сообщение здесь дает вам представление о том, что это сработает? Возможно, это может быть исправлено, если какой-то ответ забыли использовать правильное заявление о ввозе. –

ответ

19
>>> import collections 
>>> d = collections.defaultdict(int) 
>>> d 
defaultdict(<type 'int'>, {}) 

Возможно, вам стоит прочитать о the import statement.

+1

o бог im идиот, спасибо – jason

+1

@jason Нет проблем, рад, что я мог бы помочь. – arshajii

18

Вы не импортируете defaultdict. Выполните одно:

from collections import defaultdict 

или

import collections 
d = collections.defaultdict(list) 
Смежные вопросы