Python修炼秘籍--集合与字典类型(Day9)

一、集合类型及操作

1、集合类型

和数学中集合的概念基本一致。

集合需要满足以下特性:

  • 无序性:每个元素的地位都是相同的,元素之间是无序的。
  • 互异性:任何两个元素都是不相同的,集合中不存在重复的元素。
  • 确定性:支持in和not in成员运算
  • 元素必须为不可变类型
  • 可迭代:通过for循环遍历
  • 不能直接使用“{}”来创建和表示空集合,“{}”将创建一个空字典,使用set()函数将其他类型转换为集合
    在这里插入图片描述

常见的用途:

  1. 成员检测
  2. 从序列中去除重复项
  3. 数学中的集合类计算

2、集合类型的操作

在这里插入图片描述

  • 对已有的集合可以添加和删除,添加的方式只有1种
  • 有5种删除,通过是否有返回,会不会报错,删除一个还是全部,是否销毁对象区分
  1. s.add(x):向集合 s 中添加一个元素 x 的方法只有一个
    在这里插入图片描述

  2. s.remove(x):从集合 s 中删除一个指定元素 x,当要删除的元素 x 在集合 s 中不存在时,会出错KeyError
    在这里插入图片描述
    在这里插入图片描述

  3. s.discard(x):要删除的元素 x 在集合 s 中不存在时,s.discard(x)不会触发异常。
    在这里插入图片描述

  4. s.pop():随机删除一个元素,在删除元素的同时返回被删除的元素,如果集合为空则会触发KeyError。
    在这里插入图片描述

  5. s.clear():删除集合的所有元素,清空集合,只保留空集合对象。
    在这里插入图片描述

  6. del s:del命令执行后,集合对象也会被删除,后续如果再调用该对象,将会抛NameError异常。
    在这里插入图片描述

3、集合的运算

集合类型有4个操作符,交集(&)、并集(|)、差集(-)、补集(^),操作逻辑与数学定义相同。
在这里插入图片描述
在这里插入图片描述

二、映射类型及操作

1、字典dict(映射类型)

  • 一种可变数据类型,按加入顺序存储,但不可用序号索引和切片等方法
  • 字典使用一对大括号“{}”来存放数据,元素之间用逗号“,”分隔。
  • 每个元素都是一个“键 : 值”(Key:Value)对,用来表示“键”和“值”的映射关系或对应关系。
  • 以键进行索引的,键可以是任何不可变类型。
  • 键不可重复,必须是字典中独一无二的数据。如有重复,只保留最后一个元素。
    在这里插入图片描述
  • 通过“{}”或dict()函数创建字典
    在这里插入图片描述
    在这里插入图片描述

2、获取字典的值

  • 字典是一种加入顺序存起来,但是无序的类型,不能使用序号索引的方式获取字典的值。
  • 字典内部的数据具有“键”和“值”的映射关系,字典一般通过“键”来访问其“值”。
  1. dict[key], 获取字典dict的键key对应的值,若字典中不存在该键,程序会抛出KeyError异常
    在这里插入图片描述

  2. dict.get(k[, default]):存在以“k”为键的元素时,则返回键对应的值。不存在以“k”为键的元素时,如果提供了 default 参数,则返回default。
    在这里插入图片描述

  3. dict.keys() # 键、dict.values() # 值、dict.items() # 键值对
    返回值是一个可迭代对象,其中的数据顺序确定,数据顺序与加入顺序相同。
    在这里插入图片描述

3、遍历字典

在这里插入图片描述

4、修改字典的值

  1. dict[key] = value 修改键key对应的的值为value。
  • 当键名key在字典中存在时,将修改字典dict中键key的值为新值value;
  • 当键名key在字典中不存在时,将为字典增加以key为键,以value为值的新元素。
    在这里插入图片描述
  1. dict.update(k1=v1[, k2=v2,…])。同时更新字典中的多个值:
  • 当字典dict中存在k1、k2…时,将对应的值修改为v1、v2…;
  • 当不存在相应的键值时,会将对应的k1:v1、k2:v2…键值对加入字典。
    在这里插入图片描述

例2:字典查询
在这里插入图片描述

5、删除字典的元素

  1. dict.pop(key[, default]
    • 将键为 key 的键值对元素删除,返回值为键 key 对应的值;
    • 如果提供了default 值,dict中不存在 key 键时返回 default,否则将会触发“KeyValue”异常。
    在这里插入图片描述

  2. dict.popitem()
    • 将从字典中移除并返回一个元组形式的(键, 值) 对
    • 键值对会按后进先出顺序被返回,即每次执行删除位于字典末尾的键值对。
    在这里插入图片描述

  3. dict.clear()
    清空字典dict中所有数据,保留空字典对象。
    在这里插入图片描述

  4. del dict[key]
    将字典dict中键为key的键值对元素删除,如果不存在键key则会引发 KeyError。

  5. del dict 将字典对象销毁
    在这里插入图片描述

例3:用字典来统计词频
在这里插入图片描述
字典处理方法总结
在这里插入图片描述


整理不易🚀🚀,关注和收藏后拿走📌📌欢迎留言🧐👋📣✨
快来关注我的公众号🔎AdaCoding 和 GitHub🔎 AdaCoding123
在这里插入图片描述

  • 31
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值