字典
是容器,不是序列,{}作为标志,逗号隔开
特点:可变,无序(不支持下标操作)
元素
字典中的元素都是键值对key:value的形式成对出现
list1 ={'x':1,(1,):22}
print(type(list1.values()),list1.values())
获取单个元素。字典[key]与字典.get(key)前者访问key的值,没有报错,后者访问key的值,没有返回None或者错误
遍历
for循环遍历,直接遍历的是key,有了key就可以取值,遍历items同时拿值,直接遍历内存、cpu占用少
增改
语法:字典[key]=值,key存在是改,不存在是加。
删除
del 字典[key]删除key对应的键值对////pop(key),取出的是值
运算
字典不支持+,*,比较运算符,只支持==,!=
相关操作in/notin max,min,sum都是针对key。list(字典),把key转成列表。
dict()括号里面的需要是小序列且只有2个值
相关方法
dict.fromkeys(序列,值=None)创建新字典,把序列中的元素作为新key,值作为每个key的值。静态方法用类调用。
字典名.setdefault(key,value)如果key不存在才增加键值对,返回默认值default。存在不修改。
字典名1.update(字典2),将2中内容加到1中。字典2可以是可以转为字典的序列。
集合
容器,{}作为标志,逗号隔开元素
特点:不可变,无序
元素
不可变数据,同一个人元素只能有一个,{}是字典不是空集合,set()空集合
集合本身也是可变的不可以作为集合元素,列表和字典是可变数据,不可以作为集合元素
查
只支持遍历,不能单独获取具体某一个元素,for的遍历都是遍历的下标,将序列转化成列表找下标
增
add,集合名.add(元素)在集合中加入一个元素。集合名1.update(序列),将序列中元素加入1中
删
remove(元素)没有改,无元素会报错,discard(元素)无元素不会报错。
运算
并集|、交集&、对称差集(除公共部分以外的部分)^、差集-(除公共部分剩下的1的部分,1-2)
1>2,1是否包含2;1<2,2是否包含1