Seek support for new slice syntax PEP.

Dave b49P23TIvg at stny.rr.com
Mon Dec 14 13:03:16 EST 2009


Just as sets may now be written as {3,'hi'}, I propose that slices
should be available using [start:end] syntax.  Following example comes
from projecteuler.net problem 166.  The Numeric community would also
like this, as would the general python user.  The slice notation would
require one ":" between the brackets to differentiate it from a list,
which is similar to the set notation requirement that disambiguates it
from a dictionary.

Several times now I've wanted python slice notation.  Perhaps I'll
write a Python Enhancement Proposal.  I stored slices of vector array
entries to add


edge = 4
indexes = []
n = edge
nn = n**2
for i in range(edge):
    indexes.extend([
        slice(i*n,(i+1)*n,1),       # rows
        slice(i,nn,n),              # cols
        ])

row_slices = indexes[0::2]
col_slices = indexes[1::2]
slash = slice(n-1,n*(n-1)+1,n-1)
backslash = slice(0,nn,n+1)


Which could have been written in a manner completely consistent with
other python shorthand notations and for which python "cannot
possibly" use the notation for some other purpose,


edge = 4
indexes = []
n = edge
nn = n**2
for i in range(edge):
    indexes.extend([
        [i*n: (i+1)*n]                  # rows
        [i: nn: n],                      # cols
        ])

row_slices = indexes[0::2]
col_slices = indexes[1::2]
slash = [n-1: n*(n-1)+1: n-1]
backslash = [0: nn: n+1]



More information about the Python-list mailing list