dict :
key:不可变(可哈希)的数据类型
value:任意数据类型,对象。
大量的数据,关系型数据。查询速度非常快
python3.5包含3.5之前,字典无序的。
python3.6以后,字典是有序的。
dic = {'name':'taibai'}
增:
dic['age'] = 18 #有责改之,无责增加
dic.setdefault(key,value) #有则不变,无责增加
删:
pop按照键去删除 有返回值
dic.pop('name2',None) 不指定默认值找不到会报错
clear清空
del
del dic['name']
del dic
popitem()有返回值
python3.5包含3.5之前,字典无序的。 随机删除
python3.6以后,字典是有序的。 默认删除最后一个。
改:
dic['name'] = 'alex'
update(字典)
update(sex='man')
查:
按键去查
dic['name']
dic['name1']
dic.get('name')找不到不会报错
dic.keys() dic.values() dic.items()都可以遍历,都可以转化成list
在循环一个字典时,不能改变字典的大小
集合:>>>>set
集合要求里面的元素必须是不可变的数据类型,但是集合本身是可变的数据类型。
集合里面的元素不重复(天然去重),无序。
1,去重。
2,关系测试。
交集
(set1 & set2)
(set1.intersection(set2)
并集
(set1 | set2)
(set1.union (set2)
交叉并集
(set1 ^ set2)
(set1. symmetric_difference(set2))
差集
(set1 - set2)
(set1.difference(set2))
子集
(set1 < set2)
(set1.issubset(set2))
父集
(set2 > set1)
(set2.issuperset(set1))
frozenset : 不可变集合
s = frozenset('barry')
print(s,type(s))
#frozenset({'a', 'y', 'b', 'r'})
删除
discard 不存在不会报错
remove 不存在会报错
pop
增加
add
update 迭代对象
isdisjoint 判断是否是相交集