[EMAIL PROTECTED] wrote: > On Jan 29, 7:57 pm, "Drew" <[EMAIL PROTECTED]> wrote: >> I'm looking to add an element to list of items, however I'd like to >> add it at a specific index greater than the current size: >> >> list = [1,2,3] >> list.insert(10,4) >> >> What I'd like to see is something like: >> >> [1,2,3,,,,,,4] >> >> However I see: >> >> [1,2,3,4] >> >> Is there any way to produce this kind of behavior easily? >> >> Thanks, >> Drew > > You could write your own class mimicing a list with your desired > behaviour, something like: > > py>class llist(object): > py> def __init__(self, arg = []): > py> self.__list = arg > py> def __setitem__(self, key, value): > py> length = len(self.__list) > py> if length < key: > py> for i in range(length, key +1): > py> self.__list.append(None) > py> self.__list[key] = value > py> def __str__(self): > py> return str(self.__list) > py> > py>x = llist() > py>x[10] = 1 > py>print x > [None, None, None, None, None, None, None, None, None, None, 1] > > for other methods to add to the llist class see http://docs.python.org/ > ref/sequence-types.html >
or like this >>> class Llist(list): def __init__(self): list.__init__(self) def insertatindex(self, index, value): lenght = len(self) if lenght < index: for i in range(lenght, index): self.append(None) self.insert(index, value) -- http://mail.python.org/mailman/listinfo/python-list