2013-07-20 21 views
11

Korzystanie z Pythona 3.2.defaultdict nie jest zdefiniowany

import collections 
d = defaultdict(int) 

run

NameError: name 'defaultdict' is not defined 

Ive wznowiona Idle. Wiem kolekcji jest importowany, ponieważ wpisując

collections 

wyników w

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

również pomóc (zbiory) pokazuje mi pomoc w tym klasy defaultdict.

Co robię źle?

+1

Przeczytaj o 'import'. Dodaje tylko te nazwy, które określasz do swojej przestrzeni nazw. Możesz na przykład użyć 'from the collections import defaultdict', lub możesz odwołać się do' defaultdict' jako 'collections.defaultdict'. –

+1

Jaki post wysłał ci pomysł, że to zadziała? Być może można to poprawić, jeśli w jakiejś odpowiedzi zapomniałem użyć właściwego oświadczenia importowego .. –

Odpowiedz

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

Może wypada do zapoznania się the import statement.

+1

o bóg jestem idiotą, dziękuję – jason

+1

@jason Nie ma problemu, cieszę się, że mogłem pomóc. – arshajii

18

Nie importujesz defaultdict. Zrobić albo:

from collections import defaultdict 

lub

import collections 
d = collections.defaultdict(list) 
4

Musisz napisać:

from collections import defaultdict 
Powiązane problemy