在Python中,最基本的数据结构是序列,所有的序列都可以进行一些特定的操作,常用的有索引、切片、加、乘等,还有计算序列长度、求出最大值和最小值等内建函数,如表4-1所示。
表4-1 通用序列操作 (X表示序列)
1.索引与切片
序列中的每一个元素都有自己的位置编号 (也称为下标或索引),可以通过索引来读取数据。如图4-1所示最开始的第一个元素,索引为0,第二个元素,索引为1,以此类推;也可以从最后一个元素开始计数,最后一个元素的索引是-1,倒数第二个元素的索引就是-2,以此类推。
图4-1 序列元素对应的索引
索引一次只能取出一个元素,切片就是一次取出多个元素,得到一个新序列。其基本格式是:
序列名[左边界:右边界:步长]
其中,左边界、步长均可省略,步长默认为1。切片操作结果包括左边界,不包括右边界。
下面以字符串为例,索引与切片操作如下。
(1)索引:获取字符串中单个字符。
上面的示例中[0]的意思是:获取字符串s中正向递增的第0个字符,[-2]的意思是:获取变量字符串s中反向递减第2个字符。
(2)切片:获取字符串中的一段字符或者一个字符的子串。
上面的示例中[1:5]的意思是:提取第1个字符到第4个字符(不包括第5个字符串)。
上面的示例中[1:]的意思是:提取从第1个字符开始到字符串结束。
上面的示例中[:5]的意思是:提取从开始的第0个字符开始到第4个字符。
上面的示例中[-2:]的意思是:提取从反向第2个字符开始到字符串结束。
上面的示例中省略了左边界和右边界, [:]的意思是:提取从开始到结束的所有的字符。
上面的示例中[1:5:2]的意思是:提取从第1个字符到第4个字符,步长值为2间隔的元素,也就是提取第1、3字符的元素。(www.xing528.com)
上面的示例中[::2]的意思是:提取从开始到结束,步长值为2 间隔的元素,也就是提取第0、2、4、6、8字符的元素。
上面的示例中[::-1]的意思是:从开始到结束反向提取,步长值为1间隔的元素,也就是将字符串反转。
上面的示例中[-1:-3]中左边界的值大于右边界的值,且步长值缺省,其值为默认值1,因此提取到空字符串。
2.加法与乘法
序列也可以相加,但要注意,这里的相加,并不是相对应的序列元素值相加,而是序列首尾连接。字符串属于字符序列,所以字符串相加就是字符连接。
如果用数字n乘以一个序列会生成新的序列,而在新的序列中,原来的序列将被重复n次。
3.常用函数
序列的常用内置函数主要有len ()、min ()、max ()、sum ()等。
序列常用函数示例如下。
(1)len ()函数:返回序列中元素的个数,适用于字符串、列表、元组、字典、集合。
(2)min ()函数返回序列中元素的最小值,适用于字符串、列表、元组、字典、集合、range对象。
(3)max ()函数返回序列中元素的最大值,适用于字符串、列表、元组、字典、集合、range对象。
(4)sum ()函数对序列进行求和操作,适用于列表、元组和range对象。
对字符串使用sum ()函数,后会抛出异常TypeError。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。