索引顺序:
正序:
反序:
1、一个数字:(索引元素)
list = ['red', 'green', 'blue', 'yellow', 'white', 'black']
print( list[0] )
print( list[1] )
print( list[2] )
print( list[-1] )
print( list[-2] )
print( list[-3] )
red
green
blue
black
white
yellow
2、两个数字:(左闭右开)
list = ['red', 'green', 'blue', 'yellow', 'white', 'black']
print( list[0:4] )
print( list[1:-1] )
['red', 'green', 'blue', 'yellow']
['green', 'blue', 'yellow', 'white']
3、三个数字:[start:end:step] (左闭右开)
list = ['red', 'green', 'blue', 'yellow', 'white', 'black']
print( list[1:5:1] )
print( list[0:5:2] )
print( list[::2] )
print( list[::1] )
print( list[::] )
['green', 'blue', 'yellow', 'white']
['red', 'blue', 'white']
['red', 'blue', 'white']
['red', 'green', 'blue', 'yellow', 'white', 'black']
['red', 'green', 'blue', 'yellow', 'white', 'black']
start不写默认为0,end不写默认为list.size,step不写默认为1
重点在步长step为负数时:(此处设步长为-1)
list = ['red', 'green', 'blue', 'yellow', 'white', 'black']
print( list[5:1:-1] )
print( list[:1:-1] )
print( list[5:0:-1] )
print( list[5::-1] )
print( list[::-1] )
['black', 'white', 'yellow', 'blue']
['black', 'white', 'yellow', 'blue']
['black', 'white', 'yellow', 'blue', 'green']
['black', 'white', 'yellow', 'blue', 'green', 'red']
['black', 'white', 'yellow', 'blue', 'green', 'red']
半闭半开: 如第一个为[5,1)(因为步长是-1,所以区间倒过来了);如第三个为[5,0)
start和end没写时:(帮助理解)可以理解为无穷,再考虑列表本身的区间[0,5] (反向时为[5,0])
如第二个为[+∞,1)=[5,1)
如第四个为[5,-∞)=[5,0]
如第五个为[+∞,-∞)=[5,0]