第六章 python杂货铺之索引和切片
6.6 索引和切片
1 说明
操作对象: 有序的数据类型,如:str list tuple
索引: 用于从有序的数据类型中取出某个特定位置的元素;
切片: 用于从有序数据类型中,取出某个特定位置范围的子序列;
2 语法
[start:stop:step]
参数说明:
step: 可选参数,默认值为1;
| step参数值类型 | 含义 |
|---|---|
| 正整数 | 标识正向索引或切片,正向即从左向右进行索引或切片取元素或子序列; |
| 负整数 | 标识反向索引或切片,反向即从从右向左进行索引或切片取元素或子序列; |
start: 可选参数,标识从哪个位置(包含该位置的元素)开始进行索引和切片取元素或子序列;
stop: 可选参数,标识从哪个位置(不包含该位置的元素)结束索引和切片取元素或子序列;
3 索引值
索引的值可以为正整数也可以为负整数,值的类型不同标识的含义不同;
索引值从左向右看:索引值从0开始,0标识第一个元素,其后的每个元素其索引值依次加1;
索引值从右向左看:索引值从-1开始,-1标识第一个元素,其后的每个元素其索引值依次减1;
| 索引值 | 含义 |
|---|---|
| 0 | 从左向右看,有序数据类型的第一个元素 |
| 正整数 | 从左向右看,有序数据类型的某个特定位置的元素 |
| -1 | 从右向左看,有序数据类型的第一个元素,即从左向右看的最后一个元素; |
| 负整数 | 从右向左看,有序数据类型的某个特定位置的元素; |
总结:
索引值仅仅用于标识有序数据类型中元素的位置,其值的类型--正整数或负整数,并不影响索引和切片的反向,即索引值并不决定索引或切片时是正向索引和切片还是反向索引和切片;真正影响索引或切片是正向还是反向的决定因素:step的值的类型;
4 step扩展
| step的值类型 | start默认值 | stop默认值 | 功能 |
|---|---|---|---|
| 正整数 | 负无穷 | 正无穷 | 从start标识的位置开始,正向索引或切片 |
| 负整数 | 正无穷 | 负无穷 | 从start标识的位置开始,反向索引或切片 |
5 案列
v='abcd' 将变量v反向输出
代码:
print(v[::-1])
代码解析:
step=-1: 标识反向索引和切片,此时start stop参数省略,故此:
start=正无穷,索引值仅仅标识元素的位置,正无穷标识从左向右看第正无穷位置的元素,其必定包含了字符串的从左向右看最后一个位置的元素;
stop= 负无穷, 即标识从右向左看左边第无穷个元素,其必定包含了字符串从右向左最后一个位置的位置;
整个代码的含义:从左向右看第无穷大个位置的元素作为开始,从右向左看第无穷大个位置的元素作为结束,反向切片;

浙公网安备 33010602011771号