comple list slices
William Meyer
wmmeyer at gmail.com
Tue Feb 28 13:04:48 EST 2006
<johnzenger <at> gmail.com> writes:
> Although I don't know if this is faster or more efficient than your
> current solution, it does look cooler:
>
> def grouprows(inrows):
> rows = []
> rows[:] = inrows # makes a copy because we're going to be
> deleting
> while len(rows) > 0:
> rowspan = rows[0]["rowspan"]
> yield rows[0:rowspan] # "returns" this value, but control flow
> unaffected
> del rows[0:rowspan] # remove what we just returned from the
> list, and loop
>
> grouper = grouprows(copyrows)
> print [x for x in grouper]
wow, i think this is much better then my solution. And you can easily call it
for subgroups:
grouper = grouprows(rows)
for x in grouper
grouperTwo = grouprows(x)
for y in grouperTwo
Do i need to copy the list in the iterator? (if I am not planning on using rows
again) The reference count for the list members will get bumped on yield right?
More information about the Python-list
mailing list