python支持一种数据结构的基本概念,名为容器。容器基本上就是可包含其他对象的对象。两种主要的容器是序列(如列表和元组)和映射(如字典)。集合也是容器。
索引
索引可以简单理解为序列中元素的位置,从左向右索引,从0开始为第一位索引;当自己想使用负索引时,即从右(最后一个元素)开始往左数,因此-1是最后一个元素的位置
>>> a = [ '1' , '2' , '3' , '4', '5' , '6' ]
>>>a [ 0 ]
"1"
切片
使用切片可以访问特定范围内的元素。为此,可使用两个索引,并用冒号分隔:
>>> a = [ '1' , '2' , '3' , '4', '5' , '6' ]
>>>a [ 0:2 ]
["1","2"]
第一个索引包含在切片之内,第二个索引不在切片范围之内,第二个索引值必须大于第一个索引值,,否则会返回为空数组
如果使用的是负索引,也是第一个索引包含在切片之内,第二个索引不在切片范围之内
>>> a = [ '1' , '2' , '3' , '4', '5' , '6' ]
>>>a [ -3:-1]
["4","5"]
如果切片是从首位开始的,可以省略第一位索引[ : 4],就是从第一位到第五位(不包含第五位)
>>> a = [ '1' , '2' , '3' , '4', '5' , '6' ]
>>>a [ :5]
[“1”,“2”,“3”,"4" , "5"]
如果切片是到末尾结束的,可以省略第二位索引[ 2: ],就是从第三位到第六位(包含最后一位)
>>> a = [ '1' , '2' , '3' , '4', '5' , '6' ]
>>>a [ 2:]
[“3”,"4",“5”,“6” ]
在切片时,通常还有一个参数步长,步长是指上一个元素到下一个元素的距离。步长为1时,包含了起点到终点的所有元素,步长为2时,将从起点到终点之间每隔一个元素提取一个元素
>>> a = [ '1' , '2' , '3' , '4', '5' , '6' ]
>>>a [ 0::2]
[“1”,"3",“5” ]
步长也可以为负数,即从右向左提取元素,当步长为负数时,第一个索引必须大于第二个索引。但省略开始索引和结束索引时,python依旧可以正常执行