元组是一个不可变的序列,(元组内的数据是不可变的,不可更改的)
不希望数据发生改变时我们用元组,其余情况都用列表
元组的表达形式 () tuple
如果元组不是一个空元组,那么他一定得有一个逗号
拆包
拆包的时候如果有 * ,那么有且仅有1个*
字符串的拆包
列表的拆包
字典
字典属于一种新的数据结构称为映射(mapping)
字典的作用和列表类似,多少用来存储对象的容器
列表存储数据的性能好,但是查询数据的性能低,字典与之正好相反。
在字典中每一个元素都有唯一的名字,通过这个名字可以找到指定的元素
这个唯一的名字我们称之为key通过key可以快速查询value,也可以称之为值
字典我们也称之为键值对(key-value)结构
每个字典中都可以有多个键值对,⽽每⼀个键值对我们称其为⼀项(item)
创建⼀个有数据的字典 语法 {key:value}
字典的值可以是任意对象 字典的键可以是任意的不可变对象(int str bool tuple…)
1.字典的创建
字典的键是不能重复的,如果出现重复的后⾯的会替换前⾯的
1.获取value,直接用dict1[key]
2.使用dict类去创建字典
3.使用dict去创建
需要dict()括号里的数据是属于一种双值子序列的形式
双值子序列:[(1,2),(3,4)]
2.字典的增删改查
1.len()计算长度
2.in not in
检测的是key
获取值的方式
使用key获取valne
1.dict[key],若不存在对应key则报错
2.dict.get(key)
不存在不会报错,而是输出None
3.修改字典
dict[‘key’] = ‘修改后的值’
dict.setdefault(key,[default])
dict.update()
将其他字典中的key-value添加到当前字典中
del dict[‘value’]
关键字删除
dict.popitem()
随即删除一个键值对,一般都会删除最后一个,有一个返回值是删除的对象,结果是一个元组
dict.pop(key,[default])
根据key来删除键值对,返回值是删除key对应的value
dict.clear()
清空字典,对列表同样适用
4.字典的遍历
1.通过key来遍历
通过value来遍历
dict.values()
通过一项来遍历
dict.items()
浅拷贝与深拷贝
做拷贝的对象都是可变类型
1.浅拷贝
原内容改变,拷贝后的内容跟着改变
浅拷贝只能对第一层的数据进行拷贝,如果,第一层的数据是个可变类型,那么浅拷贝无法将这个数据重新拷贝一份形成新的id
2.深拷贝
原内容改变,拷贝后的内容不会改变
深拷贝可以对所有的数据进行拷贝,形成一个新的id
作业
1
2.