[Python] liste in Python errore costruzione matrice
Federico Figus
figus.federico a gmail.com
Mar 4 Giu 2013 14:44:01 CEST
>
> 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]
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20130604/d08290a5/attachment.html>
Maggiori informazioni sulla lista
Python