目录
1 字典
1.1 python字典的概述
字典是一个无序的,可以修改的,元素呈键值对的形式,以逗号分割的,以大括号包围的序列;
字典是python基础数据类型当中唯一一个映射关系的数据类型;
由于字典无序,所以我们定义字典和字典生成之后的元素的顺序是不同的;
1.2 python字典的定义
1.定义字典、查看数据和类型
直接使用print输出
使用type函数查看字典类型
源码:
运行结果:
字典的key必须是不可变数据类型,value可以是任意数据类型
可变数据类型(不可哈希数据类型)
不可变数据类型(可哈希数据类型)
源码:
运行结果:
2.字典的增加操作
使用setfault方法
源码:
运行结果:
使用key : info[key]= value
源码:
运行结果:
3.删除操作
| 字典的删除 | pop | 弹出,返回并删除指定键对应的值 |
|---|---|---|
| popitem | 随机弹出一个键值元组,这里随机的原因是因为字典无序 | |
| clear | 清空字典 |
pop方法 弹出指定键值对
popitem方法 随机删除一个键值对
源码:
运行结果:
使用 del 清除对象
源码:
运行结果:
4.修改操作
(1).通过key来修改内容 info[key]=value
源码:
运行结果:
(2).update()方法
源码:
运行结果:
5.查找字典
| 字典的取值 | keys | 返回一个包含字典所有key的列表 |
|---|---|---|
| values | 返回一个包含字典所有vaule的列表 | |
| get | 以键取值,如果指定键不存在,默认返回None,可以指定返回内容 | |
| update | 以字典格式更新指定键的内容,如果键不存在,创建键和值 | |
| items | 返回字典键值呈元组形式的格式 | |
| len | 测量字典,键值对的个数(整体) |
源码:
运行结果:
1.3 字典的特点
因为字典是无序的,所以字典没有索引值;
因为字典没有索引值,所以字典以键取值,(字典的键相当于列表的索引);
因为字典以键取值,所以字典的键唯一且不可修改;
因为字典的键不可修改,所以列表和字典等可变类型的数据不可以给字典做键。
1.4 字典的常见操作
| 字典的遍历字典的判断 | in | 判断指定的键是否在字典当中,即将被废除,之后我们python3用in |
|---|---|---|
| for ...in ... | 通过for ... in ...:的语法结构,我们可以遍历字符串、列表、元组、字典等数据结构。 | |
| not in | 判断指定的键是否不在字典当中 |
in / not in
源码:
运行结果:
for...in
源码:
运行结果:
2 python集合
2.1 集合讲解
集合与之前列表、元组类似,可以存储多个数据,但是这些数据是不重复的(具有自动去重功能)。
集合对象还支持交集(intersection),差集(difference)、并集和对称差集(sysmmetric_difference)
(集合的基本功能包括关系测试和消除重复元素)
集合定义:
1. 变量名={元素1,元素2,元素3,...}
2. 变量名=set(序列) 例如 变量名=set(元组,自动,字符串)2.11
2.1.1 创建集合并且查看内容和类型
源码:
运行结果:
源码:
2.1.2 添加操作
源码:
运行结果:
2.1.3 删除操作
pop方法 默认弹出第一个元素
源码:
运行结果:
remove方法 删除指定内容
源码:
运行结果:
clear方法 清空列表
源码:
运行结果:
空集合用 set()表示
del方法 完全去除对象
源码:
运行结果:
2.1.4 集合遍历
源码:
运行结果:
关系测试:
- 交集(& 或者 intersection) 取公共部分
- 并集。(| 或者 union) 取去除重复部分内容
- 差集。(- 或者 difference)取set1或者set2中除去公共部分的内容
- 反交集。(^ 或者 symmetric_difference)
- 子集。(< 或者 issubset)
- 超集。(> 或者 issuperset)
源码:
运行结果: