组合数据类型

一、组合数据类型
组合数据类型有3大类,分别是集合类型、序列类型、映射类型。
1、集合
无序组合,一般用大写字母表示
(1)集合中的元素不可重复
(2)集合是无序组合,没有索引和位置的概念
(3)set()函数用于集合的生成,返回结果是一个无重复且排序任意的集合
(4)集合通常用于表示成员间的关系、元素去重等。
(5)集合不可以用{}直接生成,{}直接生成的是字典

  • 集合操作符
    4种基本操作:交并差补
    S-T 或 S.difference(t) 返回在集合s中但不在t中的元素
    S&T 或 S.intersection(t) 返回同时在集合s和t中的元素
    S|T 或 S.union(t) 返回结合s和t中的所有元素
    S^T 或 S.symmetric_difference(t) 返回集合s和t中的元素,但不包括同时在其中的元素。
  • 操作方法和函数:
    S.add(x) 如果数据项x不在集合S中,将x增加到S
    S.remove(x) 如果x在集合S中,移除该元素;不在则产生KeyError异常
    S.discard(x) 移除S中的元素x,如果x不在集合S中,不报错
    S.clear() 移除S中所有的数据项
    S.pop() 随机返回S的一个元素,更新S,若S为空,产生KeyError异常
    S.copy() 返回S的一个副本
    len(S) 返回集合S元素个数
    x in S 返回值是布尔值,判断x是否是S的元素
    x not in S 返回值是布尔值,判断x是否是S的元素

2、序列类型
有序组合,字符串、列表、元组都属于序列类型。
(1)列表 [] list()
序列类型是一维元素向量,元素之间存在先后关系,通过序号访问。
访问时通过下标标出即可,正向递增序号、反向递减序号。

  • 操作符
    x in s 返回值是布尔值,判断x是否是s的元素
    x not in s 返回值是布尔值,判断x是否是s的元素
    s + t 连接s和t
    sn 或 ns 将序列s复制n次
    s[i] 索引第i个元素
    s[i : j] 切片,包含第i个元素,不包含第j个元素
    s[i : j : k] 步骤切片,步长为k
    s[: : -1] 序列取反
    –操作函数
    len(s) 序列s的元素个数
    min(s) 序列s的最小元素
    max(s) 序列s的最大元素
    sorted(s,func) 对列表元素排序,高阶函数
    –方法
    s.index(x) 返回第一次出现元素x的索引值
    s.index(x, i, j) 从i到j(不包含j)找第一次出现元素x的索引值
    s.count(x) 返回元素x在列表中的数量
    s.append(x) 将x添加到列表末尾
    s.sort() 对列表元素排序
    s.reverse() 将列表元素逆序
    s.insert(i,x) 在位置i处插入新元素x
    s.remove(x) 删除列表中第一次出现的元素x
    s.pop(i) 取出列表中i位置上的元素,并在列表中将其删除
    s.pop() 取出列表中第一个元素,并在列表中将其删除
    s.copy() 生成一个新列表,复制s中的所有元素
    s.clear() 删除列表中的所有元素
    (2)字符串 str()
    基本适用列表的操作。
  • 字符串处理函数
    len(x) 返回字符串的长度
    str(x) 返回任意类型x所对应的字符串形式
    chr(x) 返回Unicode编码x对应的单字符
    ord(x) 返回单字符x表示的Unicode编码
    hex(x) 返回整数x对应十六进制数的小写形式字符串
    oct(x) 返回整数x对应八进制数的小写形式字符串
  • 字符串处理方法
    str.lower() 返回字符串副本,全部字符小写
    str.upper() 返回字符串副本,全部字符大写
    str.split(step = None) 返回一个列表,由str根据sep被分隔的部分构成,省略sep默认以空格分隔
    str.count(sub) 返回sub子串出现的次数
    str.replace(old, new) 返回字符串str的副本,所有old子串被替换成new
    str.center(width, fillchar) 字符串居中函数,fillchar参数可选
    str.strip(chars) 从字符串str中去掉在其左侧和右侧chars中所列出的字符
    str.join(iter) 将iter变量的每一个元素后增加一个str字符串
    (3)元组 () tuple()
    不可以修改、删除、增加

3、映射
键-值,键可以是元组,不可以是列表
字典 {} dic()
字典类型(dict)是‘’键–值‘’数据项的组合,每个元素是一个键值对。

  • 基本操作:
    定义空字典: d = dict() d = {}
    增加一项: d[key] = value 如d[“a”]=“abc”
    访问: d[key]
    删除某项: del d[key]
    key是否在字典中: key in d
    字典的遍历:
    遍历所有的key: for key in d.keys():
    print(key)
    遍历所有的value: for value in d.values():
    print(value)
    遍历所有的数据项:for item in d.items():
    print(items)
  • 操作函数
    len(d) 字典d的元素个数
    min(d) 字典d中键的最小值
    max(d) 字典d中键的最大值
    dic() {} 生成空字典
  • 操作方法
    d.keys() 返回所有的键信息
    d.value() 返回所有的值信息
    d.items() 返回所有的键值对
    d.get(key, default) 键存在则返回相应值,否则返回默认值default
    d.pop(key, default) 键存在则返回相应值,同时删除键值对,否则返回默认值default
    d.popitem() 随机从字典中取出一个键值对,以元组(key, value)形式返回,同时将该键值对从字典中删除
    d.clear() 删除所有的键值对,清空字典
    d.update(d2) 把字典d2的键/值对更新到d里,同时d2消失
  • 5
    点赞
  • 52
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值