【python-进阶】自定义序列

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010859970/article/details/79980265

5.2序列类型的abc继承关系
from collection import abc
(Sequence MutableSequence)
class Sequence(Revesiable, collection):
pass

行为:if … in …是因为有Container中的contains

5.3序列的+ += extend()
a=[1,2]
b=a+[3,4] # 这样是可以的=>b=[1,2,3,4]
b=a+(3,4) # 这样是不可行的,’+’两边必须为统一类型的

c=[3,4]
c += a # 这样是可以的=>c=[3,4,1,2]
c += (1,2) # 这样也是可以的 =>c=[3,4,1,2]
c += ‘hello’ #这样也是可以的 =>c=[3,4,’h’,’e’,’l’,’l’,’o’]

d=[5,6]
a.entend(d) #这样是可以的,a=[1,2,5,6]
d=(5,6)
a.extend(d) #这样也是可以的,a=[1,2,5,6]
d=’hello’
a.extend(d) #这样也是可以的,=[1,2,’h’,’e’,’l’,’l’,’o’]

a.append([3,4]) #结果是a=[1,2,[3,4]]

5.4实现可切片的对象
a=[1,2,3,4,5,6,7,8,9,0]
a[‘start’:’end’:’step’]
a[::]
a[::-1] # 返回包含元列表中所有元素的逆序列表
a[::2] # 隔一个取一个,获取偶数位置的数值
a[1::2] # 隔一个取一个,获取奇数位置的数值
a[100:] # 切片开始位置大于列表长度时,返回空列表
a[0:100] # 切片结束位置大于列表长度时,从列表尾部截断

a[len(a):] = [10] # 在列表尾部增加元素
a[:0] = [1,2] # 在列表头部插入元素=>a=[1,2]+a
a[3:3] = [4] # 在列表中间位置插入元素,相当于在3的位置插入了4
a[:3] = [1,2]# 替换列表元素,等号两边的列表长度相等
a[3:] = [4,5,6]#等号两边的列表长度也可以不相等
a[::2]=[0]*3 #隔一个修改一个
a[::2]=[‘a’, ‘b’, ‘c’]
a[::2]=[1,2]#左侧切片不连续,等号两边列表长度必须相等
a[:3]=[] #删除列表中前三个元素

猜你喜欢

转载自blog.csdn.net/u010859970/article/details/79980265