Suggested feature: slice syntax within tuples (or even more generally)?
Steven D'Aprano
steve+comp.lang.python at pearwood.info
Thu Feb 14 03:03:50 EST 2013
On Wed, 13 Feb 2013 21:54:43 -0800, stephenwlin wrote:
>> I believe the idea of slice literals has been rejected.
>>
>>
> That's too bad...do you have a link to prior discussion on this and what
> the reasoning was for rejection?
http://osdir.com/ml/python.python-3000.devel/2006-05/msg00686.html
http://mail.python.org/pipermail/python-list/2001-August/094909.html
E.g.:
if x:
pass
Is that intended as "if slice(x, None, None)" with a missing colon, or
"if x" with colon supplied?
With the addition of one extra letter, you can use slice notation to
return slice objects:
class SlicerAndDicer:
def __getitem__(self, item):
return item
s = SlicerAndDicer()
And some examples:
py> s[2::5]
slice(2, None, 5)
py> s[::-1]
slice(None, None, -1)
py> s[3, 4]
(3, 4)
py> s[3, 4:6]
(3, slice(4, 6, None))
py> s[7::, 9]
(slice(7, None, None), 9)
I feel all giddy inside...
By the way, Go-lang also has slices, but they're more like views into an
array than Python's slice objects.
http://blog.golang.org/2011/01/go-slices-usage-and-internals.html
This is not germane to your question, I just found it interesting reading.
--
Steven
More information about the Python-list
mailing list