[Python-Dev] sequence slice that wraps, bug or intention?

Paul Moore p.f.moore at gmail.com
Fri Apr 3 12:29:17 CEST 2009


2009年4月3日 Ulrich Eckhardt <eckhardt at satorlaser.com>:
> Hi!
>> I just stumbled across something in Python 2.6 where I'm not sure if it is by
> design or a fault:
>> x = 'abdc'
> x[-3:-3] -> ''
> x[-3:-2] -> 'b'
> x[-3:-1] -> 'bc'
> x[-3: 0] -> ''
>> The one that actually bothers me here is the last one, I would have expected
> it to yield 'bcd' instead, because otherwise I don't see a way to specify a
> slice that starts with a negative index but still includes the last element.
>> Similarly, I would expect x[-1,1] to yield 'ca' or at least raise an error,
> but not to return an empty string.
>> Bug?

Feature. Documented behaviour, even
(http://docs.python.org/reference/expressions.html#id5 section
"Slicings").
This question is more appropriate for python-list (comp.lang.python)
as it is about using Python, rather than the development of the Python
interpreter itself (although I can see that your uncertainty as to
whether this was a bug might have led you to think this was a more
appropriate list). You should first confirm on python-list that a
given behaviour is a bug, and if it is, post it to the tracker, rather
than to python-dev.
In this case, the behaviour is fine. As regards your point "I don't
see a way to specify a slice that starts with a negative index but
still includes the last element" what you want is x[-3:].
If you want to discuss this further, please do so on python-list.
Paul.


More information about the Python-Dev mailing list

AltStyle によって変換されたページ (->オリジナル) /