Python的数据结构的基本概念是容器,容器是一种对象。两种主要的数据结构对象是序列和映射。序列中的每个元素都有序号,而映射的每个元素都有名字。
列表、元组、字符串都是序列。序列从0开始递增,每个元素都有一个编号,这叫做索引。索引从右往左数,叫做负数索引,最后一个元素的索引为-1。序列除了通过索引访问元素,还可以通过切片访问一定范围的元素,例如a[0:3],切片的边界索引为前闭后开,第一个索引是切片的第一个元素,第二个索引为序列a在切片后余下的第一个元素的编号。
切片结束于序列的末尾,可以省略第二个索引,例如a[-3:],开始于序列开头,可以省略第一个索引,a[:3],复制整个序列,a[:]。带步长的切片,例如a[1:4:2]为切片掉索引1,3的元素,余下4(当然索引2被跳过了,也不会被切片走)。
只有负数索引(从右往左数)可以带负数步长,这时候加上 省略索引,比较难理解,number[5::-2],切片的是索引为5,3,1的元素。number[:5:-2],切片的是索引为9,7的元素(假设索引为0—9)。
网友评论