Ciao, il problema deriva dal fatto che ret è una lista vuota, quindi quando cerchi di accedere al suo element ret[k] viene giustamente sollevata un'eccezione IndexError proprio perchè il k-esimo elemento non esiste (essendo una lista vuota).
Se ho capito bene, ret dovrà essere sempre una lista di len(self.ArrChartConfig) - 1 dizionari, che al proprio interno avranno un indice 'data' associato ad una lista di len(self.ArrChartData) - 1 liste di due elementi, allora dovresti inserire all'inizio del primo ciclo: ret.append({'data': []}) per poi fare un ret[k]['data'].append([xval, yval]) al posto della riga che solleva l'eccezione. A mio parere questo metodo non sarebbe ottimale, sia dal punto di vista prestazionale (sia in termini di memoria che temporali) sia da quello stilistico, potresti utilizzare le list comprehension per ottenere un ottimo risultato: def chart(self): return [{'data': [[coords[0], coords[1]] for coords in self.ArrChartData[:-1]]} for _ in xrange(0, len(self.ArrChartConfig) - 1)] nel caso l'iterable self.ArrCharData contenga solo tuple o liste da 2 elementi potresti anche scrive in questo modo def chart(self): return [{'data': [[x, y] for x, y in self.ArrChartData[:-1]]} for _ in xrange(0, len(self.ArrChartConfig) - 1)] Spero di averti dato una mano con la risoluzione del tuo problema, fammi sapere se funziona (e nel caso di errori dove ho sbagliato) o se c'è qualche passaggio non molto chiaro. Spero che il sonno non mi abbia giocato qualche brutto scherzo ;) P.S. se la coppia di coordinate non dovrai modificarla in futuro, ti consiglio di usare una tupla per contenerle quindi (val[0], val[1]) Saluti, Federico Figus
_______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python