# 1. 字典 dict dic = {'键':'值'}
# 键: 不可变数据, 可哈希是不可变, 不可哈希是可变 不能重复
# 值: 随意
# 增:
# dic['键'] = '值'
# dic.setdefault('键') # 查看
# dic.setdefault('键','值') # 先查看返回None的时候 进行添加 返回值就不进行添加
# dict.fromkeys('可迭代对象') # 坑 不写值默认是None 写值得时候如果是可变数据类型就需要小心了
# 删:
# dict.pop('键','找不到时的提示语句') 通过键删除返回值
# dict.remove ###### 没有
# dict.popitem() # 随机删除 在3.6 默认删除最后一个 返回值是一个元祖 删除的键值对
# del dict # 删除整个字典
# del dict['键'] 通过键删除
# dict.clear() # 清空
# 改:
# dict.update() 在括号里级别高于update前面的
# dict['键'] = '值' # 只有在字典中才是修改 , 没有在字典中就是增
# 查:
# print(dict['键'])
# print(dict.get('键','查找不到的提示语句'))
# dict.setdefault('键') #查
# 其他操作:
# keys # 所有的键 高仿列表
# values # 所有的值 高仿列表
# items # 所以的键值 元祖形式
# 解构:
# a,c,b = 1,2,3
# 字典的嵌套:
# 查找思想和列表一样,只要是{开头 }结尾的就是一体
# 集合 set se = {1,2,3} 天然去重 内容要求不可变数据
# 增:
# se.add('内容')
# se.update('可迭代对象')
# 删:
# se.remove('内容')
# se.pop() 默认删除第一个
# del se 删除整个集合
# 改:
# 集合就是先删后增
# 查:
# for 循环
# 其他操作:
# 交集 &
# 并集 |
# 差集 -
# 反差集 ^
# 子集 <
# 超级 >
# 冻结集合 : 把可变的集合变成了不可变得集合 不常用