I found out what is wrong. You must give it a negative step, like range(10,1,-1)
But my code is not good enought for heapify. I will try again. "Ruan" <[EMAIL PROTECTED]> wrote in message news:[EMAIL PROTECTED] > Can't range go from larger to smaller? > > > "Diez B. Roggisch" <[EMAIL PROTECTED]> wrote in message > news:[EMAIL PROTECTED] >> Dongsheng Ruan wrote: >> >>> I want to turn an Array into a heap, but my code just doesn't work: no >>> change after execution. >>> >>> A=[3,5,4,9,6,7] >>> m=len(A)-1 >>> >>> >>> >>> for i in range(m,1): >>> t=(i-1)/2 >>> if A[i]>A[t]: >>> A[i],A[t]=A[t],A[i] >> >> First of all, there is the module heapq that will just do it. >> >> And then you seem to misunderstand how the range-function works. range(m, >> 1) >> will always be the empty list. See >> >> pydoc range >> >> for how it operates. >> >> Overall, your code is very unpythonic, to say the least. I suggest you >> start >> reading the python tutorial first: >> >> http://docs.python.org/tut/ >> >> Especially the looping techniques section: >> >> http://docs.python.org/tut/node7.html#SECTION007600000000000000000 >> >> Diez > > -- http://mail.python.org/mailman/listinfo/python-list