A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://mail.python.org/pipermail/python-dev/2000-July/007625.html below:

[Python-Dev] extended slicing for lists

[Python-Dev] extended slicing for listsMichael Hudson mwh21@cam.ac.uk
28 Jul 2000 21:58:11 +0100
Michael Hudson <mwh21@cam.ac.uk> writes:

> Guido van Rossum <guido@beopen.com> writes:
> 
> > > Good idea.  Are lists and tuples going to support seq[a:b:c] anytime 
> > > soon?
> > 
> > It's on my wish list, but can't be done for 2.0.
> 
> This would involve the list type implementing the mapping API wouldn't
> it?  This would seem to be a little on the silly side.  Never mind;
> here's a quick-hack patch that "seems to work" for lists:
[snip] 

I've now put this (or a slightly less buggy version) onto sourceforge.

Guido said (after I bothered him in private email) that he'd expect
that:

  >>> l = range(10)
  >>> l[2:10:2] = [0]*5
  >>> l
  [0, 1, 0, 3, 0, 5, 0, 7, 0, 9]
  >>>

And also:

  >>> l = range(10)
  >>> l[4:-1:-1] = range(5)
  >>> l
  [4, 3, 2, 1, 0, 5, 6, 7, 8, 9]
  >>> 

(and presumably del l[a:b:c])

Now I'd expect *that* as well, but I was wondering what should happen
if the lengths of the lists don't match up ... just bail?  That would
be easiest, but it doesn't quite gel well with current behaviour for
simple slices.  Presuming an error, what about these (assuming d is a
list of the wrong length):

l[a:b:-1] = d
l[a:b:1] = d
l[a:b:] = d

I think these should probably be errors too, but I'd welcome any
opinions people have.

Cheers,
M.

-- 
  A witty saying proves nothing.                           -- Voltaire





RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4