转自:http://www.cnblogs.com/dyllove98/archive/2013/07/20/3202785.html
list的下表从零开始,和C语言挺类似的,但是增加了负下标的使用。
-len-----第一个元素
...... ......
-2 ------ 倒数第二个元素
-1 ------ 最后一个元素
0 ------ 第一个元素
len-1 ------ 最后一个元素
>>> a=[0,1,2,3,4,5,6,7] >>> a [0, 1, 2, 3, 4, 5, 6, 7] >>> i = -len(a) >>> i -8 >>> while i < len(a): print "a[",i,"]=",a[i] SyntaxError: invalid syntax >>> while i < len(a): "a[" , i , "]=" , a[i] i += 1 ('a[', -8, ']=', 0) ('a[', -7, ']=', 1) ('a[', -6, ']=', 2) ('a[', -5, ']=', 3) ('a[', -4, ']=', 4) ('a[', -3, ']=', 5) ('a[', -2, ']=', 6) ('a[', -1, ']=', 7) ('a[', 0, ']=', 0) ('a[', 1, ']=', 1) ('a[', 2, ']=', 2) ('a[', 3, ']=', 3) ('a[', 4, ']=', 4) ('a[', 5, ']=', 5) ('a[', 6, ']=', 6) ('a[', 7, ']=', 7)
子list的提取:
可通过下标指定范围,用于提取出一个list的一部分。下标表明位置,一个是起始位置,一个是结束位置,中间使用冒号分割,如果不指定起始位置,则默认从 0开始,如果不指定结束位置,结束位置为-1,子list表示包括起始位置处的元素,一直到结束位置,单数不包括结束位置的元素。负下标也可以参与下标的 表示:
>>> a [0, 1, 2, 3, 4, 5, 6, 7] >>> b = a[1:4] >>> b [1, 2, 3] >>> b = a[1:-1] >>> b [1, 2, 3, 4, 5, 6] >>> b = a[1:] >>> b [1, 2, 3, 4, 5, 6, 7] >>> b = a[:] >>> b [0, 1, 2, 3, 4, 5, 6, 7] >>>
改变新的子list的值,不会改变原来list的值