Wrapping around a list in Python.

Gary Herron gary.herron at islandtraining.com
Mon Dec 16 06:10:22 CET 2013

On 12/15/2013 08:38 PM, shengjie.shengjie at live.com wrote:
> Hi guys, I am trying to create a fixed list which would allow my values to be wrapped around it.
> For example i have 10 values : 0,1,2,3,4,5,6,7,8,9
> I need to create a list which contains 4 numbers and when the number exceeds the list, it would overwrite the first value.
> [0,1,2,3]
> [4,1,2,3]
> [5,4,1,2]
> Thanks in advance and much help appreciated.

Is the output really three lists as you show.  Or is that one list whose 
contents you have shown three snapshots of?  Then what was the point of 
putting 4 in the first spot when you are just going to move it to the 
second spot?  And why stop at 4 and 5?  What about 7, 8, and 9?

Are you really shifting elements onto the beginning of the list and off 
the end of the list?  (That's easy to do, but is that what you want?)

If I follow your example a few elements further I get [9,8,7,6], just 
the last four elements of the original list in reverse order -- so there 
is no need fill a list and "wrap-around"  -- just grab the last four 
elements and reverse them.

Or have I misunderstood the problem completely?  (I think that's 
likely.)  I'm sure Python is general enough to do what you want, but 
you'll have to do a much better job telling is what you want.  While you 
are at it, tell us what you've already done, and how it fails to do 
whatever it is you want.

Gary Herron

More information about the Python-list mailing list