📌Python修炼秘籍--集合与字典类型(Day9)
一、集合类型及操作
1、集合类型
和数学中集合的概念基本一致。
集合需要满足以下特性:
无序性
:每个元素的地位都是相同的,元素之间是无序的。互异性
:任何两个元素都是不相同的,集合中不存在重复的元素。确定性
:支持in和not in成员运算- 元素必须为
不可变类型
可迭代
:通过for循环遍历- 不能直接使用“{}”来创建和表示空集合,“{}”将创建一个空字典,使用set()函数将其他类型转换为集合
常见的用途:
- 成员检测
- 从序列中去除重复项
- 数学中的集合类计算
2、集合类型的操作
- 对已有的集合可以添加和删除,添加的方式只有1种
- 有5种删除,通过是否有返回,会不会报错,删除一个还是全部,是否销毁对象区分
-
s.add(x)
:向集合 s 中添加一个元素 x 的方法只有一个
-
s.remove(x)
:从集合 s 中删除一个指定元素 x,当要删除的元素 x 在集合 s 中不存在时,会出错KeyError
-
s.discard(x)
:要删除的元素 x 在集合 s 中不存在时,s.discard(x)不会触发异常。
-
s.pop()
:随机删除一个元素,在删除元素的同时返回被删除的元素,如果集合为空则会触发KeyError。
-
s.clear()
:删除集合的所有元素,清空集合,只保留空集合对象。
-
del s
:del命令执行后,集合对象也会被删除,后续如果再调用该对象,将会抛NameError异常。
3、集合的运算
集合类型有4个操作符,交集(&)、并集(|)、差集(-)、补集(^),操作逻辑与数学定义相同。
二、映射类型及操作
1、字典dict(映射类型)
- 一种可变数据类型,按加入顺序存储,但不可用序号索引和切片等方法
- 字典使用一对大括号“{}”来存放数据,元素之间用逗号“,”分隔。
- 每个元素都是一个“键 : 值”(Key:Value)对,用来表示“键”和“值”的映射关系或对应关系。
- 以键进行索引的,键可以是任何不可变类型。
- 键不可重复,必须是字典中独一无二的数据。如有重复,只保留最后一个元素。
- 通过“{}”或dict()函数创建字典
2、获取字典的值
- 字典是一种加入顺序存起来,但是无序的类型,不能使用序号索引的方式获取字典的值。
- 字典内部的数据具有“键”和“值”的映射关系,字典一般通过“键”来访问其“值”。
-
dict[key]
, 获取字典dict的键key对应的值,若字典中不存在该键,程序会抛出KeyError异常
-
dict.get(k[, default])
:存在以“k”为键的元素时,则返回键对应的值。不存在以“k”为键的元素时,如果提供了 default 参数,则返回default。
-
dict.keys() # 键、dict.values() # 值、dict.items() # 键值对
返回值是一个可迭代对象,其中的数据顺序确定,数据顺序与加入顺序相同。
3、遍历字典
4、修改字典的值
dict[key] = value
修改键key对应的的值为value。
- 当键名key在字典中存在时,将修改字典dict中键key的值为新值value;
- 当键名key在字典中不存在时,将为字典增加以key为键,以value为值的新元素。
dict.update(k1=v1[, k2=v2,…])
。同时更新字典中的多个值:
- 当字典dict中存在k1、k2…时,将对应的值修改为v1、v2…;
- 当不存在相应的键值时,会将对应的k1:v1、k2:v2…键值对加入字典。
例2:字典查询
5、删除字典的元素
-
dict.pop(key[, default]
• 将键为 key 的键值对元素删除,返回值为键 key 对应的值;
• 如果提供了default 值,dict中不存在 key 键时返回 default,否则将会触发“KeyValue”异常。
-
dict.popitem()
• 将从字典中移除并返回一个元组形式的(键, 值) 对
• 键值对会按后进先出顺序被返回,即每次执行删除位于字典末尾的键值对。
-
dict.clear()
清空字典dict中所有数据,保留空字典对象。
-
del dict[key]
将字典dict中键为key的键值对元素删除,如果不存在键key则会引发 KeyError。 -
del dict
将字典对象销毁
例3:用字典来统计词频
字典处理方法总结
整理不易🚀🚀,关注和收藏后拿走📌📌欢迎留言🧐👋📣✨
快来关注我的公众号🔎AdaCoding 和 GitHub🔎 AdaCoding123