> > Quando eseguo for i in range(0, len(self.ArrChartData) - 1): > > se len(self.ArrChartData) è 0 voglio che il ciclo for non venga > eseguito. > se len(self.ArrChartData) è 1 voglio che il ciclo for non venga eseguito > una sola volta con k=0 >
se len(self.ArrChartData) è 3 voglio che il ciclo for venga eseguito tre > volte con k=0, 1, 2 Nel tuo caso avrai: se len(self.ArrCharData) == 0 allora avrai range(0, -1) cioè [] se len(self.ArrCharData) == 1 allora avrai range(0, 0) cioè [] se len(self.ArrCharData) == 2 allora avrai range(0, 1) cioè [0] se len(self.ArrCharData) == 3 allora avrai range(0, 2) cioè [0, 1] se vuoi evitare che il ciclo venga eseguito per len(self.ArrCharData) uguale a 0 o a 1, allora ti consiglio di mettere prima del ciclo queste due righe di codice: if len(self.ArrCharData) < 2: continue Altro piccolo consiglio, quando ti serve un contatore usa xrange() al posto di range(), il primo rende un generator il secondo una list. In più non hai bisogno di specificare 0 visto che parte sempre da zero se non specifichi due argomenti, quindi: range(n) -> [0, 1, ...., n-1]
_______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python