2013-07-20 15 views
11

Utilizzo di python 3.2.defaultdict non definito

import collections 
d = defaultdict(int) 

conduzione

NameError: name 'defaultdict' is not defined 

Ive riavviato Idle. So collezioni viene importato, perché digitando

collections 

risultati in

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

anche aiutare (collezioni) mi mostra l'aiuto tra cui la classe defaultdict.

Cosa sto sbagliando?

+1

Leggi su 'import'. Aggiunge solo i nomi specificati al tuo spazio dei nomi. Ad esempio, potresti usare 'from collections import defaultdict', oppure puoi fare riferimento a' defaultdict' come 'collections.defaultdict'. –

+1

Quale post qui ti ha dato l'idea che avrebbe funzionato? Forse può essere corretto se qualche risposta dimentica di usare la giusta istruzione di importazione .. –

risposta

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

Potrebbe behoove leggere su the import statement.

+1

o dio sono un idiota, grazie – jason

+1

@jason Nessun problema, felice di aver potuto aiutare. – arshajii

18

Non stai importando defaultdict. Effettuare una:

from collections import defaultdict 

o

import collections 
d = collections.defaultdict(list) 
4

è necessario scrivere:

from collections import defaultdict