学习目标:
1.dict和list中copy方法画图加代码解释
2.dict中扩展字典长度(多种方法)
3.dict中获取所有的key,获取所有的value,获取所有的item
4.dict中通过一个不存在的key去获取值(要求不报错)
5.定义空集合
6.set中,求差集,求合集,求交集(要求在原集合上操作)
添加一个元素
删除一个元素(使用多种方法)
1.dict和list中copy方法画图加代码解释
1,浅copy
b = a: 赋值引用, a 和 b 都指向同一个对象,所以a变时,b跟着变
a 和 b 是一个独立的对象,但他们的子对象还是指向统一对象(是引用)。
深copy
a 和 b 完全拷贝了父对象及其子对象,两者是完全独立的。所以当a变时,b不变
2:dict中扩展字典长度(多种方法)
setdefault(self, key, default=None, /)
Insert key with a value of default if key is not in the dictionary.
如果键不在字典中,则插入值为默认值的键
update(...)
D.update([E, ]**F) -> None. Update D from dict/iterable E and F.
If E is present and has a .keys() method, then does: for k in E: D[k] = E[k]
If E is present and lacks a .keys() method, then does: for k, v in E: D[k] = v
In either case, this is followed by: for k in F: D[k] = F[k]
方法可以使用一个字典所包含的键值对来更新己有的字典。
在执行 update() 方法时,如果被更新的字典中己包含对应的键值对,那么原 value 会被覆盖;如果被更新的字典中不包含对应的键值对,则该键值对被添加进去。
3:dict中获取所有的key,获取所有的value,获取所有的item
5:定义空集合
data = {} # 只能是一个空字典
data = dict()
print(type(data))
empty_set = set()
#iterable: str, tuple, list
set_data = set("123")
print(set_data, type(set_data))
6:set中,求差集,求合集,求交集(要求在原集合上操作)
添加一个元素
删除一个元素(使用多种方法)
set中,求差集,求合集,求交集(要求在原集合上操作)
添加一个元素
不能添加列表,字典这种可变的,只能添加元组这种不可变的
删除一个元素(使用多种方法)