Ho un dizionario simile a questo. . .Python- Come trovare la media di più valori/chiave in un dizionario
CombinedDict = {'Abamectin': [63, 31, 53], 'Difenzoquat metilsulfate': [185, 49, 152], 'Chlorpyrifos': [14, 26, 56], 'Dibutyl phthalate': [25, -17, -18]
e così via. In totale ho 48 chiavi diverse.
Quello che sto cercando di ottenere è la media dei tre numeri. Quindi avrei un dict che sembra così. . .
AvgDictName = {'Abamectin': [49], 'Difenzoquat metilsulfate': [128], 'Chlorpyrifos': [32], 'Dibutyl phthalate': [-3] . . .
Ho provato con questa linea
AvgDictName = dict([(key, float(sum([int(i) for i in values]))/len(values)) for key, values in CombinedDict])
Ma io sono sempre troppi valori di disfare errore Tutte le idee? Penso che potrebbe essere fatto anche facendo il dict in una lista e trovando la media da una lista usando i comandi len e sum e poi convertendo di nuovo in un dict ma non so davvero come farlo. Grazie, ho la sensazione che questo dovrebbe essere facile.
'.iteritems()' per Python 2.x – inspectorG4dget
@ inspectorG4dget, ' .items() 'è in realtà migliore nel senso che è" Python 3 proof ", a meno che non sia davvero necessario ottimizzare per elenchi di grandi valori. –
@BenHoyt: Ecco a cosa serve lo strumento 2to3. Dovrei avvolgere anche tutte le mie dichiarazioni di stampa tra parentesi? – Eric