On Aug 13, 8:46 am, Sion Arrowsmith <[EMAIL PROTECTED]> wrote: > Dave <[EMAIL PROTECTED]> wrote: > >hitNum = 0 > >stopCnt = 6 + hitNum > >offSet = 5 > > >for i in range(0,10,1): > > The step argument to range defaults to 1: it's tidier to omit it. > Similarly, the start argument defaults to 0, so you can drop that too. > > for i in range(10): > > > for x in range(hitNum,len(inLst), 1): > > print hitNum, stopCnt > > hitNum and stopCnt are constant in this loop: if you care about > this print statement, move it into the outer loop and stop yourself > drowning in output. > > > if x == stopCnt: break > > If you want to exit the inner loop when x == stopCnt, why not make > that condition part of the loop construct? > > for x in range(hitNum, stopCnt): > > That said, if you ever see "for i in range(len(lst))" *immediately* > replace it by "for i, x in enumerate(lst)", then go through to body > to see if you really need that i, and if not use "for x in lst", > with slicing if the range is more complex than range(len(lst)). As > you can do here: > > for x in inLst[hitNum:stopCnt]: > hitLst.append(x) > > And if all you're doing in a for loop is appending to one list from > another, that's just what list.extend does: > > hitLst.extend(inLst[hitNum:stopCnt]) > > > hitNum +=offSet > > stopCnt+=offSet > > Finally, that i in the outer loop isn't being used anywhere. Why > don't you just loop over hitNum? And noticing that stopCnt is > increasing in lock-step with hitNum: > > offset = 5 > > for hitNum in range(0, 10*offset, offset): > hitLst.extend(inLst[hitNum:hitNum+6] > > -- > \S -- [EMAIL PROTECTED] --http://www.chaos.org.uk/~sion/ > "Frankly I have no feelings towards penguins one way or the other" > -- Arthur C. Clarke > her nu becomeþ se bera eadward ofdun hlæddre heafdes bæce bump bump bump
Excellent, thanks for all your help guys. -- http://mail.python.org/mailman/listinfo/python-list