组合数据类型&列表类型

组合数据类型

  • 序列类型——元素向量
  • 集合类型——元素集合
  • 映射类型——“键-值数据项的组合”

序列类型(字符串、元组、列表)

  • 12个通用的操作符和函数
x in s若x是s的元素,则返回True,反之Fales
x not in s若x不是s的元素,则返回True,反之Fales
s+t连接s和t
s * n或n * s将序列s复制n次
s[i]索引;返回序列的第i个元素
s[i:j]分片;s中i到j个元素(不含j)
s[i:j:k]步骤分片:s中i到j以k为步长的子序列
len(s)s的个数(长度)
min(s)s的最小元素
max(s)s的最大元素
s.index(x[,i[,j]])s中从i开始到j位置中第一次出现x的位置
s.count(x)序列中x出现的次数
  • 元组(一旦创建不能被修改)

>>>creature=“cat”,“dog”,“tiger”
>>>creature
(‘cat’,‘dog’,‘tiger’)
>>>color=(“red”,“4352”,creature)
>>>color
>>>(‘red’,‘4352’, (‘cat’,‘dog’,‘tiger’))
>>>color[1]
‘4352’
>>>color[-1][2]
‘tiger’

集合类型

集合类型:包含0个或多个数据项的无序组合
哈希运算:可将任意长度的二进制映射为较短的固定长度的二进制值
集合:无序,没有缩印和位置的概念,不能分片,用{}表示,可以过滤掉重复的元素
set函数——生成集合

>>> W=set(“apple”)
>>> W
{‘e’, ‘p’, ‘a’, ‘l’}

集合类型的操作符(10个)

s-t或s.difference(t)返回一个新集合,包括在集合s中但不在集合t中的元素
S-=T或Sdifference_update(T)更新集合S,包括在集合S中但不在集合T中的元素
S&T或S intersection返回一个新集合,包括同时在集合S和T中的元素
S&=T或 Sintersection_update(T)更新集合S,包括同时在集合S和T中的元素
S^T或S Symmetric(T)返回一个新集合,包括集合S和T中的元素,但不包括同时在其中的元素
s.symmetric_difference_update(T)更新集合S,包括集合S和T中的元素,但不包括同时在其中的元素
S | T或S.union(T)返回一个新集合,包括集合S和T中的所有元素
S |=T或S.update(T)更新集合S,包括集合S和T中的所有元素
S<=T或S.issubset(T)如果S与T相同或S是T的子集,返回True,否则返回False,可以用S<T判断S是否是T的真子集
S>=T或 S issuperset(T)如果S与T相同或S是T的超集,返回True.否则返回False,可以用S>T判断S是否是T的真超集

集合类型的操作函数或方法(10个)

S.add(x)如果数据项x不在集合S中,将x增加到s
S.clear移除S中的所有数据项
S.copy返回集合S的一个副本
S.pop随机返回集合S中的一个元素,如果S为空,产生Keyerror异常
S.discard(x)如果x在集合S中,移除该元素:如果x不在集合S中,不报错
S.remove(x)如果x在集合S中,移除该元素:不在则产生.Keyerror异常
S.disjoint(T)如果集合S与T没有相同元素,返回True
len(S)返回集合S的元素个数
x.in.S如果x是S的元素,返回.True,否则返回.False
x.not.in.S如果x不是S的元素,返回Tue,否则返回.False

集合类型主要用于3个场景:成员关系测试|元素去重和删除数据项。
集合类型与其他类型最大的不同在于它不包含重复元素,因此,当需要对一维数据进行去重或进行数据重复处理时,一般通过集合来完成。

映射类型

映射类型是“键-值”数据项的组合,每个元素是一个键值对,即元素是(key,value),元素之间是无序的。键值对( key, value)是一种二元关系,源于属性和值的映射关系。
键(key)表示一个属性,也可以理解为一个类别或项目,值( value)是属性的内容,键值对刻画了一个属性和它的值。键值对将映射关系结构化,用于存儲和表达。在 Python 中,映射类型主要以字典(dd)体现。

列表类型

列表类型的概念

  1. 列表(list)是包含0个或多个对象引用的有序序列,属于序列类型。与元组不同,列表的长度和内容都是可变的,可自由对列表中的数据项进行增加、删除或替换。列表没有长度限制,元素类型可以不同,使用非常灵活。
  2. 由于列表属于序列类型,所以列表也支持成员关系操作符(in)、长度计算函数(len())、分片([ ])。列表可以同时使用正向递增序号和反向递减序号,可以采用标 准的比较操作符(<、<=、==、!=、>)进行比较,列表的比较实际上是单个数据项的逐个比较。
  3. 列表用中括号([ ])表示,也可以通过list()函数将元组或字符串转化成列表 直接使用 list()函数会返回一个空列表,例如:

>>>color ls=[425,“BIT”,[10,“CS”],425]
>>>color ls
[425, ‘BIT’, [10, ‘CS’], 425]
>>>color ls[2][-1][0]
‘C’

列表类型特有的函数或方法(共14个)

函数或方法描述
Is[i]替换列表ls第ⅰ数据项为x
Is[i:j]=It用列表t替换列表ls中第i到第j项数据(不含第j项,下同)
Is[i:j:k]=It用列表替换列表ls中第i到第j项以k为步数的数据
deI Is[i:j]删除列表ls第ⅰ到第j项数据
deI Is[i:j:k]删除列表s第i到第j项以k为步数的数据
Is+=lt.或Is.extend(t)将列表t元素增加到列表ls中
Is*=n更新列表s,其元素重复n次
Is.append(x)在列表1s最后增加一个元素x
Is.clear刚除ls中的所有元素
Is.copy生成一个新列表,复制s中的所有元素
Is.inser(i.x)在列表s的第i位置增加元素x
Is.pop(i)将列表B中的第项元素取出并删除该元素
Is.remove(x)将列表中出现的第一个元素x刷除
Is.reverse(x)列表ls中的元素反转
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值