Python序列包括元组、列表和字符串。Python序列类型都是由一些成员共同组成的一个序列整体,它们的成员都是有序排列的。所有的序列类型都支持索引操作和切片操作。索引操作允许从序列中抓取一个特定项目,切片操作允许获取序列的一个切片,即一部分序列。也可通过len()函数获取序列中的子项个数。 序列共同支持的操作符见表2-2,其中seq代表序列对象。
表2-2 序列操作符
表2-2中的seq[index]与seq[index1:index2]为切片操作,切片操作分为:
●正向索引:索引值范围从0到偏移量最大值(比序列长度小1)。
●反向索引:索引值范围从-1(最后一个元素的索引)到序列的负长度(第一个元素的索引)。
●默认索引:切片中起始索引和结束索引都是可省略的,如果省略起始索引,则从序列的最开始处开始,如果省略结束索引则取到序列的最末尾结束,如果都省略则取整个序列。
在切片索引的正向索引中,起始索引可以小于0,相当于0,结束索引可以大于偏移量最大值,相当于偏移量最大值。也可以在切片操作中增加第3个参数,用来指定切片的步长,即seq[index1:index2:step]。
表2-2中的seq[index]索引操作可看作是特殊的切片操作,只切片一个元素,但索引值必须在从0到偏移量最大值或从-1到序列的负长度的有效范围内,否则会报错。
在后面字符串、列表和元组类型的讲解中会详细讲解序列操作符。 (www.xing528.com)
序列共同支持的函数见表2-3,其中seq1,seq2代表序列对象。
表2-3 序列共同支持的函数
表2-3中的cmp(seq1,seq2)、max(seq1)、min(seq1)、sorted(seq1)等函数均涉及序列元素大小的问题,如果序列是字符串,则比较各字符的ASCII码值,如果是列表或元组则比较相应元素的值,如果对应元素的类型不同,则比较遵守下列规则:
(1)均为数字,则强制类型转换后,比较大小。
(2)若一方为数字,则另一方大,因为不同类型元素比较中数字是最小的
(3)如果均不是数字,则通过类型名字的字母顺序进行比较。
(4)如果一方尚有元素,另一方已至列表末尾,则先结束的小。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。