Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #77913
| From | dieter <dieter@handshake.de> |
|---|---|
| Subject | Re: List insert at index that is well out of range - behaves like append that too SILENTLY |
| Date | 2014-09-16 07:58 +0200 |
| References | <CACC6tEh0b-iR3ChEsYZftxjSJktzqbknqAeTdpxyHCdS7YRHiQ@mail.gmail.com> |
| Newsgroups | comp.lang.python |
| Message-ID | <mailman.14041.1410847105.18130.python-list@python.org> (permalink) |
Harish Tech <technews.full@gmail.com> writes: > Let me demonstrate the problem I encountered : > > I had a list > > a = [1, 2, 3] > > when I did > > a.insert(100, 100) > > [1, 2, 3, 100] > > as list was originally of size 4 and I was trying to insert value at index > 100 , it behaved like append instead of throwing any errors as I was trying > to insert in an index that did not even existed . > > > Should it not throw > > IndexError: list assignment index out of range At least the documentation states that what you observe is the intended behaviour. According to the documentation, "a.insert(i, x)" is equivalent to "a[i:i] = x" (i.e. a slice assignment) and if in a slice "a[i:j]" "i" or "j" are larger then "len(a)", then it is replaced by "len(a)". If this is not what you want, derive your own list type and override its "insert" method.
Back to comp.lang.python | Previous | Next | Find similar | Unroll thread
Re: List insert at index that is well out of range - behaves like append that too SILENTLY dieter <dieter@handshake.de> - 2014-09-16 07:58 +0200
csiph-web