[PIPython] confronto tra dizionari

Alex Martelli aleaxit
Ven 19 Nov 2004 15:16:43 CET


On Tuesday 16 March 2004 12:35 pm, ciccio a unical.it wrote:
   ...
> Ho provato ad utilizzare il codice di seguito ma ottengo un errore:
> > import sets
> > risultato = {}
> > for k in sets.Set([x for d in dizionari for x in d]):
> >      risultato[k] = [d.get(k, '-') for d in dizionari]
>
> Traceback (most recent call last):
>   File "Dep_sum.py", line 33, in ?
>     risultato[k] = [d.get(k, '-') for d in matrix]
> AttributeError: 'tuple' object has no attribute 'get'

Come ti dice chiarissimamente il messaggio d'errore, d non e` un dizionario, 
bensi` una tupla.  Ovviamente non puoi applicare a una tupla le operazioni 
che potresti applicare a un dizionario!

> Nel mio caso specifico io ottengo una serie di dizionari per ogni file

Non ci credo.  Mi pare invece che tu ottenga delle tuple, NON dei dizionari.
Se fosse vero che avevi ottenuto dei dizionari, allora hai fatto qualche 
perversa trasformazione per renderli tuple.

> letto. Si chiamano tutti matrix e non so come richiamare una specifica
> coppia chiave:valore.

Sara` meglio cominciare col chiarirsi come "ottieni" quelli che tu sostieni 
essere dizionari e invece sembrano essere tuple.


Alex




More information about the Python mailing list