On Wed, Jun 3, 2015 at 3:08 PM, Rustom Mody <rustompm...@gmail.com> wrote:
> On Tuesday, June 2, 2015 at 7:50:58 PM UTC+5:30, Ian wrote:
>> On Tue, Jun 2, 2015 at 6:35 AM, Rustom Mody  wrote:
>> > For that matter even this works
>> > But I am not sure whats happening or that I like it
>> >
>> >>>> [x[-2:]  for x in lines]
>> > ['12', '42', '49', '56', '25', '36', '49', '64', '81', '00']
>>
>> x[-2:] selects all items in the sequence with index i such that len(x)
>> - 2 <= i < len(x). For a sequence of length 2 or less, that's the
>> entire sequence.
>
> Thanks -- learn something
> So it means that indices can give indexerror; slices cannot?
> Seems fair enough put that way, but is visually counterintuitive

Yes. The rule I paraphrased above is stated at
https://docs.python.org/3/library/stdtypes.html#common-sequence-operations
-- scroll down to note 4. I don't know if there's anything that
clearly states that sequence slicing can't raise IndexError, but it is
at least implied by the above, and it is certainly true of all builtin
sequence types.
-- 
https://mail.python.org/mailman/listinfo/python-list

Reply via email to