modifying a list while iterating through

dustin.getz at gmail.com dustin.getz at gmail.com
Sun Feb 25 20:12:19 EST 2007


consider the following working loop where Packet is a subclass of
list, with Packet.insert(index, iterable) inserting each item in
iterable into Packet at consecutive indexes starting at index.

    i=0
    while(i<len(packet)-4):
        if packet[i:i+5]==Packet("01110"):
            packet.insert(i, "01111")
            i+=10 #skip the 5 bits inserted, and skip the 5 bits just
checked bc overlap should not trigger insertion
        else: i+=1

is there a way to do this more elegantly?  seems like a big kludge.




More information about the Python-list mailing list