[EMAIL PROTECTED] 写道: > dracula571 wrote: > > s[i:j] slice of s from i to j (3), (4) > > > > (3) > > If i or j is negative, the index is relative to the end of the string: > > len(s) + i or len(s) + j is substituted. But note that -0 is still 0. > > > > > > (4) > > The slice of s from i to j is defined as the sequence of items with > > index k such that i <= k < j. If i or j is greater than len(s), use > > len(s). If i is omitted or None, use 0. If j is omitted or None, use > > len(s). If i is greater than or equal to j, the slice is empty. > > > > i can't follow (3) very well. > > for example:k = [1,2,3,4,5] > > k[-1:2]=[] > > k[-5:2]=[1,2] > > but k[-6:2] = [1,2] > > why k[-6:2] is [1,2]not []. > > Because 6 is greater then len(k), so when you ask > for i=-6, you get i=-5 instead. And relative -5 is actually > absolute 0 which is less than 2, so you do not get an > empty slice. > > > i do follow (3),to make i positive by > > plusing len(k) twice.But the result is not what i expect.why,or did i > > misunderstand the rule of (3). > > See (4). when compared with len(k), the value of i is a absolute value? in this example,i used -6 to compare with len(k). I misunstood the rule (4),and used (3) wrong by plusing len(k) twice to make it positive ,that is -6 + len(k) + len(k) = 4. Thanks
-- http://mail.python.org/mailman/listinfo/python-list