字典
字典也是一个容器,存放具有映射关系的键值对,存放的元素成对出现
注意:
字典的键唯一,不可重复(需要通过键获得对应的值)
value可以重复
没有索引,不可以通过索引获取
无序容器,存放顺序与显示顺序不一定相同
声明方式:
dict0 = dict() #创建出来的是空字典 {}
dict0 = dict({"A":15, "B":17})
#如果传递序列的话 传递的是嵌套的序列
dict0 = dict([[12, 34],[22, 34]])
dict0 = dict(姓名="小沐", age=18)
dict0 = {"语文":87, "数学":22}
获取value的方式:
dict[key]:key不存在时报错
dict.get(key):key不存在返回none
设置值的方式:
dict[key] = value:key存在新值覆盖旧值,不存在则添加
dict.setdefault():key不存在添加,存在不赋值
遍历方式:
for k in dict0: #直接遍历字典 -- 其实遍历的是键
for v in dict0.values(): #遍历字典中所有的value
for item in dict0.items(): #遍历字典的键值对
for k, v in dict0.items(): #遍历字典的键值对
常用方法:
dict.update(dict0)
:合并
len()
:键值对数
dict.items()
:获得所有键值对
dict.values()
:获得所有值
dict.pop(key)
:根据键删除键值对,键不存在时报错
dict.popitem()
:删除最后一个键值对
dict.clear()
:清空字典
集合
无序容器,存放元素不能重复
声明方式:
set():设置空集合的唯一方法
集合有数据时用大括号包含,但没有数据时不能用大括号
运算符的使用
set1 = {12, 34, 77}
new_set = set0 - set1
print(new_set) #在前者中去除掉与后者的交集部分
常用方法:
set.add(元素)
:添加元素
set.pop()
:移除随机一个元素
set.discord(元素)
:移除指定元素,没有该元素时不变
set.remove(元素)
:移除指定元素,没有该元素时报错
set.issubset(set0)
:判断set是否为set0的子集
set.issuperset(set0)
:判断set是否包含set0
set.isdisjoint(set0)
:判断有没有交集
set.difference_update(set0)
:在一个集合中移除另外一个集合与自己的交集
set.clear()
:清空集合
set.update(set0)
:原集合基础上合并新集合
set.union(set0)
:合并后生成新集合