1.元组简介
- 元组属于容器存储、不可变、顺序访问的数据类型。
- 元组可以看作不可变序列 ,除此之外,和列表非常相似
- 我们希望数据不改变时使用元组,其余情况下使用列表
- ()创建元组
- 元组不是空元组时至少有一个逗号,而且元组不为空时 “()” 可以省略
- 元组解包是指把元组中的每一个元素赋值给一个变量(在元组解包时,变量的数量必须与元组中元素一一对应,若没有对等,可以在变量前面加个* ,否则会报错。注意:*c 是所有数值,而c 则是一个列表。)
2.可变对象
- 在Python中,数值类型(int和float)、字符串(str)、元组(tuple)都是不可变类型,而列表(list)、字典(dict)、集合(set)都是可变类型
- Python中任何对象都有三种通用属性:唯一标识(id)、类型(type)、值(value)
- 可变对象指的是对对象里面的value值进行改变
3.字典
3.1 字典的基本介绍
-
字典属于一种新的数据结构为映射,也是python中唯一的映射类型
-
字典和列表作用相似,都是用来存储对象的容器
-
列表存储数据性能好,但查询性能差,字典正好与之相反
-
字典中每一个元素都有一个唯一的名字,通过这个唯一的名字可以找到指定的元素
-
字典中唯一的名字称之为 key ,而通过key 快速查询value ,称这个value为值
-
字典我们称之为键值对(Key:value)结构
-
每个字典有对个键值对,每个键值对称之为项(item)
-
语法:{key:value}
-
字典的值可以是任意对象,而字典的键是任意不可变对象
-
字典的键不能重复,如果重复后面的会替换前面的
字典的使用方法:-
根据键来获取值
-
len()获取键值对的个数,in 检查是否有指定的键
-
dict.get(key[,default])方法:根据字典中的 key 找到对应的值,如果 key 不存在,则显示None
-
dict.setdefault(key [ ,default] )方法:字典中添加 key ,如果 key 已经存在字典中,则会返回key值,不会对字典做任何操作。如果不存在,则在字典中添加 key 并设置value
-
dict.update()将其他字典的key-value添加到当前字典中,如果有重复的值,则会被后面的值替代
-
del 删除 dict.popitem()一般都会删除最后一个,将key-value返回一个元组,第一个为key,第二个为value
-
dict.pop(key[,default])根据key删除字典中的key-value,将删除的值返回
-
dict.copy()复制后的对象和原对象是独立的,修改一个不会影响另外一个
-
浅复制只会简单复制对象内部的值,如果值也是可变对象,则不会被复制
-
修改列表 dict [ key ] = value
-
4.遍历字典
- keys()该方法返回字典所有的key
- values()该方法返回字典的所有序列,该序列中保存有字典的值
- items() 该方法返回字典的所有项 它返回一个序列(元组),该序列中包含有双值子序列 ,双值分别是 字典的key 和value
5.集合
5.1 集合的简介
- 集合的特点:
- 只能存储不可变对象
- 存储的对象是无序的
- 存储的元素是不能重复的
- 集合使用{} 来创建
- 可以通过set()将序列和字典转换成集合
- len()可以获取集合中元素的数量
- add()向集合中添加元素
- update()将一个集合中的元素添加到另一个集合中
- pop()随机删除一个元素,并将删除的元素返回
- remove()删除指定的元素,没有返回值
- clear()清楚集合中的所有元素
5.2 集合的运算
- 交集运算 &
- 并集运算 |
- 差集 - (从自身的集合中去掉交集的部分,但是a-b和b-a不同)
- 亦或集 ^
- <= 检查一个集合是否是另一个集合的子集
- < 检查一个集合是否是另一个集合的真字集
- “>=” 检查一个集合是否是另一个集合的超集
- “>” 检查一个集合是否是另一个集合的真超集