半只蚂蚁 发表于 2017-4-23 06:40:51

python序列学习

我的学习python练习的环境的是ubuntu 14.04操作系统,默认的是安装python2.7。所以一切的练习都是在python2.7上。下面我把学习序列的一些操作和想法分享给大家。
      python的序列像java中的数组,一般数组都是用于存放元素或对象。我们可以对python序列进行,通过索引查找元素,插入操作,乘法操作,遍历,还有对序列的元素的子集进行操作,又称分片。
       索引:序列中所有元素都是有有编号的,从左往右,从0开始依次递增,这编号就称为索引。
   测试代码:
>>> arr=
>>> arr

>>> arr
1
>>> arr[-1]
9

习惯了java代码,习惯上数组的变量都是用arr开头,我们还是称为序列吧。我们可以看到arr的元素是1,其中0就是索引,1就是序列中的元素。python也支持传负数,负数的的规律从右往左依次是-1,-2……
       分片:分片操作其实就是依索引为基础,操作序列的子集合(一定范围内的元素),类似与java中的截取操作。
测试代码:
>>> arr

>>> arr

>>> arr

>>> arr[-3:-1]

>>> arr[-3:0]
[]
>>> arr[-3:-9]
[]

从以上例子可以看出,python的分片操作是以“[开始索引:结束索引]”来获取子集合,其中包含开始索引元素,不包含结束索引元素,第二个例子,索引12在arr中没有存在元素,所以输出到最后一个元素,没有报异常。三个例子其中len是获取序列的长度。一般java中经常用到,防止数组索引过界。由第二个例子可以看出python不用担心,索引可以为负数,表示从右开始-1,-2……,从第四个到第六个例子可以看出。可以用负数进行分片操作。第五个例子和第六个例子说明,如果使用负数,两个都要是负数,且冒号右边大于左边。
分片还有以下操作:
取最后三个元素:

>>> arr[-3:]


取所有元素:

>>> arr[:]


分片中的步长:也就是分片中除了开始索引和结束索引,还可以添加一个参数,称为步长,就是隔几个取值,难理解就看例子。

>>> arr

>>> arr

>>> arr[::3]

>>> arr[::-1]

>>> arr
[]
>>> arr

>>> arr[:3:-1]

>>> arr


从以上例子,可以得出结论:步长正数时,若是索引全部指定,从小到大,第一个值,是索引指定元素获得子集合中第一个元素,然后按照步长取值。步长负数时:开始索引小于结束索引,按照步长取值。只有一个值时,在开始索引位置时,第二值默认就是0,在结束索引位置时,开始索引默认的值是len(arr),正数时相反。
页: [1]
查看完整版本: python序列学习