Drew a écrit : >>What is your actual usecase? >> >>diez > > > The issue is that I don't know how long the list will eventually be.
How is this an issue ? Python's lists are not fixed-sized arrays. > Essentially I'm trying to use a 2D list to hold lines that I will > eventually print to the screen. > > Blank elements in the list will be > printed as spaces. I suppose every time I add an element, I could find > the difference between the size of the list and the desired index and > fill in the range between with " " values, Yes. But note that [1,2,3,' ',' ',4] is not the same thing as [1,2,3,,,4] (which is not valid Python FWIW). > however I just wanted to > see if there was a more natural way in the language. I'm not sure I get it. Do you mean you're trying to use a list of lists as a representation of a 2D matrix (IOW, a bitmap) ? Something like bpm = [ ['X',' ',' ',' ','X'], [' ','X',' ','X',' '], [' ',' ','X',' ',' '], [' ','X',' ','X',' '], ['X',' ',' ',' ','X'], ] If so, using dicts can be somewhat simpler and less memory-consuming: d = {1:1, 2:2, 3:3} d[10] = 4 for i in range(1, max(d.keys())+1): print d.get(i, ' ') That is, instead of storing useless spaces for "blank cells" and having to do math to compute how many of them you have to insert/delete, you just place stuff at desired indices, and 'fill in' spaces when printing out to screen. HTH -- http://mail.python.org/mailman/listinfo/python-list