1. 元组简介
元组基本介绍
- 元组表现形式tuple
- 元组是⼀个不可变序列(⼀般当我们希望数据不改变时,我们使⽤元组,其他情况下基本都⽤列表)
- 使⽤()创建元素
- 元组不是空元组⾄少有⼀个 逗号(,) 当元组不是空元组时括号可以省略
- 元组解包指将元组当中的每⼀个元素都赋值给⼀个变量
2.字典的简介
2.1 字典的基本介绍
-
字典属于一种新 数据结构称为映射(mapping)
-
字典的作⽤和列表类似,都是⽤来存储对象的容器
-
列表存储数据的性能好,但是查询数据的性能差,字典正好与之相反
-
在字典中每⼀个元素都有唯⼀的名字,通过这个唯⼀的名字可以找到指定的
元素 -
这个唯⼀的名字我们称之为key 通过key可以快速查询value 也可以称之为值
-
字典我们也称之为键值对(key-value)结构
-
每个字典中都可以有多个键值对,⽽每⼀个键值对我们称其为⼀项(item)
-
创建⼀个有数据的字典 语法 {key:value}
-
字典的值可以是任意对象 字典的键可以是任意的不可变对象(int str booltuple…)
-
字典的键是不能重复的,如果出现重复的后⾯的会替换前⾯的
2.2 字典的使用
- dict()函数来创建字典
- get(key[,default]) 根据键来获取字典的值。第⼆个参数可以指定⼀个默认
值,当获取不到值的时候会返回默认值 - update() 将其他字典的key-value添加到当前的字典当中
- del 删除字典中的key-value
- popitem() 删除字典最后的⼀个key-value 这个⽅法是有返回值的。删除之
后它会将删除的key-value作为返回值返回 - pop(key[,default]) 根据key删除⾃定中的value。第⼆个参数可以指定⼀个
默认值,当获取不到值的时候会返回默认值
2.3 copye()
- copy() ⽅法⽤来对字典进⾏潜复制
import copy
D={A:B,C:D}
c=copy.copy(D)
3.遍历字典
我们主要可以通过3种⽅式对字典进⾏遍历
- keys() 该⽅法返回字典所有的key
- values() 该⽅法返回⼀个序列 序列中保存有字典的值
- items() 该⽅法会返回字典中所有的项 它返回⼀个序列,序列中包含有双值
⼦序列 双值分别是 字典中的key和value
c={11: 66, 22: 77, 33: 88, 44: 99, 55: 90}
print(c.keys())
#dict_keys([11, 22, 33, 44, 55])
print(c.values())
#dict_values([66, 77, 88, 99, 90])
print(c.items())
#dict_items([(11, 66), (22, 77), (33, 88), (44, 99), (55, 90)])
4. 集合
4.1 集合简介
- 集合表现形式set 集合和列表⾮常相似
- 不同点
- 集合只能存储不可变对象
- 集合中存储的对象是⽆序的
- 集合不能出现重复元素
- 使⽤{}来创建集合
- 可以通过set()来将序列和字典转换成集合
- len() 使⽤len()来获取集合中元素的数量
- add()像集合中添加元素
- update()将⼀个集合中的元素添加到另⼀个集合当中
- pop()随机删除集合中的⼀个元素⼀般是删除最后⼀个元素
- remove() 删除集合中指定的元素
- clear() 清空集合
4.2集合的运算
-
‘&’ 交集运算
-
’ | ’ 并集运算
-
‘-’ 差集运算
-
‘^’’ 亦或集
-
‘<=’ 检查⼀个集合是否是另⼀个集合的⼦集
-
‘<’ 检查⼀个集合是否是另⼀个集合的真⼦集
-
‘>=’ 检查⼀个集合是否是另⼀个集合的超集
-
‘>’ 检查⼀个集合是否是另⼀个集合的真超集
s1 = {1,2,3,4,5}
s2 = {3,4,5,6,7}
#& 交集运算
result = s1 & s2 # {3,4,5}#{1, 2, 3, 4, 5} {3, 4, 5, 6, 7} {3, 4, 5}
# | 并集运算
#result = s1 | s2 # {1, 2, 3, 4, 5, 6, 7}
# - 差集运算
# result = s1 - s2 # {1, 2}
# result = s2 - s1 # {6, 7}
# ^ 亦或集(去除相同,剩下的就是结果)
# result = s1 ^ s2 # {1, 2, 6, 7}
print(s1,s2,result)