python___容器类型的数据___序列

发布时间:2026/7/5 11:50:44
python___容器类型的数据___序列 python内置的数据类型如序列列表、元组等、集合和字典等可以容纳多项数据我们称她们为容器类型的数据集合、序列、字典、列表、元组序列序列sequence)是一种可迭代的元素有序的容器类型的数据序列包括列表list)字符串str),元组tuple)和字节序列bytes)等序列的索引操作序列中的元素都是有序的每个元素都带有序号序号叫做索引索引有正值索引和负值索引之分正值索引第一个元素的索引是0从左往右以此增加负值索引最后一个元素的索引是-1从右往左递减如何访问序列中的元素下标运算符跟在容器数据后的一对方括号[]在这对方括号之间有参数对于序列类型的数据该参数就是元素类型的索引ahello,-----a[0]hahello print(a[0])#h print(max(a))#o print(min(a))#e print(len(a))#5此处索引最大值为4若a[5]超出索引范围则会发生IndexError错误max()函数用于返回序列的最大值对于数字序列返回最大值对于字符串返回ASCII或Unicode值最大的字符min()函数用于返回序列的最小值对于数字序列返回最小值对于字符串返回ASCII或Unicode值最大的字符len函数用于获取序列的长度注意是序列长度不是序列范围最大值如例所示序列范围以0开始以4结尾但长度是5加与乘*操作*‘six’*2-------sixsix:sixseven--------sixsevenasix bseven print(a*3)#sixsixsix print(ab)#sixseven切片操作对序列进行切片Slicing)操作就是从序列中切分出小的子序列切片运算符的语法[start:end:step]start:开始索引end:结束索引step:步长切片时获取元素的间隔既可以是正整数也可以是负整数切下的子序列包含start位置的元素但不包含end位置的元素start和end都可以省略#切片操作 azxcvbnm print(a[1:3]) #xc 不包含3 print(a[:3])#zxc 不包含3 #省略了开始索引默认索引开始是0所以a[:3]和a[0:3]一样 print(a[0:3])#zxc 不包含3 print(a[0:])#zxcvbnm #忽略了结束索引默认结束索引是序列的长度即7所以a[1:]和a[1:7]的切片结果是一样的 print(a[0:7])#zxcvbnm print(a[:])#zxcvbnm #省略了开始索引和结束索引a[:]和a[0:7]切片结果一样 print(a[1:-1])#xcvbn #1是正值索引表示字符串的第二个元素-1是负值索引表示字符串的最后一个元素 print(a[0:3:2])#zc #开始索引为0结束索引为3步长为3 print(a[::-1])#mnbvcxz #步长为负值时从右往左获取元素所以[::-1]的切片结果是原始序列中元素的倒置 print(a[0:3:-1]) #a[1:3]---开始索引为1结束索引为2省略步长默认值为1print(a[0:3:2])画出相关实例图索引: 0 1 2 3 字符: z x c v ↑ ↑ start0 startstep2 ↓ ↓ 取 z 取 c 结果zcprint(a[1:3:-1])start0,end3,step-1,步长是负值从右往左取从索引0开始往左取但end3在start的右边方向冲突start在end左边但步长是负的要往左走---永远走不到end---结果为空索引: 0 1 2 3 4 5 6 字符: z x c v b n m ↑ ↑ start0 end3不包含 步长 -1往左走→ 从 0 往左没有元素 → 空从右往左取值xxcvbnm print(a[5:0:-1)#输出mnbvc #start:索引5m包含在内 #end:索引0x不包含在内 #步长-1----从右往左取数成员测试成员测试运算符in , not inin:用于测试是否包含某个元素not in:测试是否不包含某个元素#测试 aqwert if e in a: print(True) else: print(False) #True basdf if z not in b: print(True) else: print(False) #True