1.元组
1.1 元组的基本概念
- 元组是用()表示的
- 元组是一个不可变序列(希望数据不被改变的时候用元组)
- 如果元组不是空元组,那么它里面至少有一个逗号
1.2 拆包
-
元组的拆包
-
字符串的拆包
-
列表的拆包
2.字典
2.1 字典的基本概念
-
字典属于⼀种新的数据结构称为映射(mapping)
-
数据类型 {key:value} 这么一个key-value我们称它为一项
-
当字典中的key有重复的时候,后面的会代替前面的
-
字典的几种写法如图所示
-
字典的作用和列表类似,都是⽤来存储对象的容器
-
列表存储数据的性能好,但是查询数据的性能差,字典正好与之相反
-
每个字典中都可以有多个键值对,⽽每⼀个键值对我们称其为⼀项(item)
-
双值子序列
2.2 字典的深拷贝和浅拷贝
-
copy() 方法用来对字典进行浅复制
-
注意:潜复制只会复制字典本身,如果字典中还有个字典是不会进行复制的,deepcopy()会复制
-
浅拷贝
-
深拷贝
2.3 字典的增删改查
-
基本操作
-
len() 获取字典中的键值对的个数
-
in 检验字典中是否包含指定的键
-
not in 检验字典中是否不包含指定的键
-
可以根据键来获取字典当中的值,语法:dict[key]
-
get(key.default) 通过key获取value
-
-
增加操作
-
1、语法:dict[key] = value如果key值不存在,则向字典中添加key-value
-
2、setdefault(key,default) 向字典中添加key=value
如果这个key已经存在字典中,则返回value值,不会对字典有任何影响
如果key不存在,则在字典中添加这个key,并设置value -
3、update() 将字典中的key-value添加到当前字典中
-
-
删除操作
-
1、del删除字典中的Key-value
-
2、popitem() 随机删除一个键值对,一般默认删除最后一个
将删除之后的键值对作为返回值返回,返回的是一个元组,第一个元素是key,第二个元素是value -
pop(key,default) 根据key来删除key-value
-
clear() 清空字典
-
2.4 字典的遍历
-
dict.keys() 遍历字典,返回的是一个序列,保存的是字典中的所有键
-
dict.values() 返回的是一个序列,保存的是字典中所有的值
-
dict.items() 返回的是字典中所有的项,返回的是一个序列,这个序列中包含双值子序列
3.集合
3.1 集合的基本概念
- 集合 : set {}
-
集合和列表的不同点:
- 1、集合中能存储不可变对象
set1 = {(2,3),'hsjfh',None,True,[3,5,6]}
print(set1)
- 2、集合中存储的对象是无序的 没有索引
set1 = {4,5,6,2,10}
print(set1)
- 3、集合不能出现重复元素 去重set()
set1 = {(2,3),'hsjfh',None,True,1,2}
print(set1)
- 创建空集合
set1 = set()
print(set1,type(set1))
- 去重
list1 = [1,3,5,3,5,6,3,4,3,6,4]
s = set(list1)
print(s)
- 字典的去重,将字典转换为集合的时候,只会包含字典中的key
dict1 = {1:'1',2:'2',3:'4',1:'5'}
s = set(dict1)
print(s)
结果如图所示:
3.2 集合的使用
- in
- not in
- len()
- set.add() 向集合中添加元素
set1 = set()
set1.add(4)
set1.add(5)
set1.add(7)
print(set1)
- set.update() 将一个集合中的元素添加到另一个集合中
s1 = set('hello')
s2 = set('python')
s1.update(s2)
print(s1)
- set.pop() 删除
set1 = {'a','b',1,3}
r = set1.pop()
print(r)
print(set1)
- set.remove()
set1 = {'a','b',1,3}
set1.remove('a')
print(set1)
- set.clear() 清空
set1 = {'a','b',1,3}
set1.clear()
print(set1)
3.3 集合的运算
- &交集运算
s1 = {1,2,3,4}
s2 = {3,2,5,6}
r = s1&s2
print(r)
- | 并集运算
s1 = {1,2,3,4}
s2 = {3,2,5,6}
r = s1 | s2
print(r)
- 差集运算
s1 = {1,2,3,4}
s2 = {3,2,5,6}
r = s1-s2
r1 = s2-s1
print(r)
print(r1)
- ^ 亦或集 就是集合里面不相交的部分
s1 = {1,2,3,4}
s2 = {3,2,5,6}
r = s1 ^ s2
print(r)
- <= 检查一个集合是否是另一个集合子集
s1 = {1,2,3,4,5,6}
s2 = {3,2,5,6}
print(s1 <= s2)
- < 检查一个集合是否是另一个集合的真子集
- >= 检查一个集合是否是另一个集合的超集
- < 检查一个集合是否是另一个集合的真超集