alexliu2360的专栏

全栈数据攻城狮,分享个人开发实践过程中的感悟与收货~

【python-进阶】自定义序列

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]=[] #删除列表中前三个元素

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010859970/article/details/79980265
文章标签: 序列
个人分类: |python|
想对作者说点什么? 我来说一句

Python-正则表达式

-

学院

1970年01月01日 08:00

python-网络爬虫

2018年02月20日 9.41MB 下载

python-基础知识思维导图

2017年10月19日 1.74MB 下载

没有更多推荐了,返回首页

不良信息举报

【python-进阶】自定义序列

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭