python冒号的用法总结 | 您所在的位置:网站首页 › python屏蔽print输出 › python冒号的用法总结 |
一维数组
1. 单个冒号的情况
1.1 写完整的情况下
单个冒号的情况下,对数组的遍历操作是从前向后操作。如:arr[a:b] ,冒号前的a含义是从a开始遍历,冒号后的b含义是到b截止(不包括b)。 arr = [1, 2, 3, 4, 5, 6, 7] print(arr[1:3])输出结果为:[2, 3] 1.2 略写冒号前面的情况如果略写冒号前面的话,默认系统会指定为1 arr = [1, 2, 3, 4, 5, 6, 7] print(arr[:3])输出结果为:[1, 2, 3] 1.3 略写冒号后面的情况如果略写冒号后面的话,默认系统会指定为操作对象的长度+1,也就是说会遍历到最后一个元素为止。 arr = [1, 2, 3, 4, 5, 6, 7] print(arr[3:])输出结果为:[4, 5, 6, 7] 1.4 冒号前后指定负数的情况冒号前后指定位置的变量或者常量还有更灵活的用法,例如可以指定为负数,例如 arr[2:-2] ,其中-2代表的含义是倒数第二个位置。本质上是用 len(arr)+1-2 计算得位置。 1.5 总结:冒号前面后面随便都可以省略,只需要记住冒号前指定开始位置,冒号后指定结束位置+1(就类似于经常出现在python各种参数指定的“左闭右开”的原则)如果省略不指定冒号前面,就代表从0开始,如果省略不指定冒号后面,就代表到对象的最后一个元素。 2. 两个冒号的情况 2.1 写完整的情况下两个冒号的情况,第一个冒号前后变量或常量代表的含义不变,第二个冒号后面来指定每次迭代的步数。例如:arr[1:-2:2] 该情况代表从第二个元素位置开始遍历,每次步数为2,到倒数第二个位置为止。 arr = [1, 2, 3, 4, 5, 6, 7] print(arr[1:-2:2])输出结果为: [2, 4] 2.2 省略第二个冒号后值的情况和第一个冒号左右的值一样,第二个冒号右边的值也可以省略,省略的话即为迭代步数为1(这与不写第二个冒号的情况是一样的) arr = [1, 2, 3, 4, 5, 6, 7] print(arr[1:-2:])输出结果为: [2, 3, 4, 5] 2.3 第二个冒号后值为负数的情况如果步数指定为负数,则代表从后往前遍历。 arr = [1, 2, 3, 4, 5, 6, 7] print(arr[-2::-1])输出结果为: [6, 5, 4, 3, 2, 1] 在该例中省略第一个冒号后边的值,此时结束位置并不是正序的数组最后一个元素,而是倒序的数组的最后一个元素,因为遍历的顺序已经被指定为倒序,如果不指定结束位置,那么默认为首个元素的位置(倒序的最后一个元素的位置) 3. 总结python中用冒号来遍历列表或者字符串等结构时,总的用法是 arr[开始位置:结束位置:迭代步数] ,每个位置的值都可以省略,只需要记住: 1. 省略开始位置值:则默认值是遍历顺序上的第一个位置。 2. 省略结束位置值:则默认值是遍历顺序上最后一个位置。 3. 省略迭代步数(通常是不写第二个冒号),默认值是1(顺序的步数为1的遍历) 需要注意第一个冒号不能省略,否则是按下标取值,最简单的写法是 arr[:] 代码含义是顺序的遍历arr列表。 二维数组arrary[0, 3: 5] 表示第1维度取0,即第1行的所有元素。第2维度取起始位置3到终止位置5(不包括)的元素 arrary[4: , 4: ] 表示第1维度取第5行到末尾所有行,第2维度取第5列到末尾的所有列 array[ : , 2] 表示第1维度取所有行,第2维度取第3列的所有元素 arrary[2: : 2, : : 2] 表示第1维度取第3行到最后一行的行元素,步长为2,第2维度取所有列的元素,步长维 |
CopyRight 2018-2019 实验室设备网 版权所有 |