2013-07-20 28 views
11

Verwenden von Python 3.2.defaultdict ist nicht definiert

import collections 
d = defaultdict(int) 

Lauf

NameError: name 'defaultdict' is not defined 

Ive neu gestartet Idle. Ich weiß, Sammlungen importiert wird, weil

collections 

Ergebnisse in

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

Eingabe auch (Sammlungen) helfen zeigt mir die Hilfe einschließlich der defaultdict Klasse.

Was mache ich falsch?

+1

Lesen Sie mehr über 'import'. Es fügt nur die Namen hinzu, die Sie für Ihren Namespace angegeben haben. Sie könnten zum Beispiel 'from collections import defaultdict' verwenden, oder Sie könnten' defaultdict' als 'collections.defaultdict' bezeichnen. –

+1

Welcher Post hier gab Ihnen die Idee, dass das funktionieren würde? Vielleicht kann es korrigiert werden, wenn einige Antwort vergessen haben, die richtige Import-Anweisung zu verwenden. –

Antwort

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

Es könnte Sie interessieren, über the import statement zu lesen.

+1

o Gott im ein Idiot, danke – jason

+1

@jason Kein Problem, froh, ich könnte helfen. – arshajii

18

Sie importieren nicht defaultdict. Gehen Sie:

from collections import defaultdict 

oder

import collections 
d = collections.defaultdict(list) 
4

Sie müssen schreiben:

from collections import defaultdict