- 散列类型
集合
字典
- 集合(set):
- 大括号
- 特点:
唯一性/不重复性,每次打印没有规定的顺序/随机/无序性;
可变性(集合里不可放可变类型/对象,元组可放不可变对象);
由于无序性,没有下标可索引,因此无找的功能。
- 增
- add:提供添加的参数
- update: 提供添加的参数、列表
- 删
- pop:随机删除
- remove:指定元素删除
- discard : 指定元素删除
- 改
- update:放可迭代对象,放序列类型/散列类型
- 字符串会被拆开,列表不会拆开,int不是可迭代对象(TypeError: ‘int’ object is not iterable)
- 集合用法:
- 并集:|, .union()
- 交集:&,.intersection()
- 差集(我有他无):-(减号)
- 对称差: ^, .symmetric_difference()
- print(a1.isdisjoint(a2)) :判断有无交集,没有交集是True, 有交集是False
print(a1.issuperset(a2)) :判断是否包含(子集),没有被包含是False
print(a2.issubset(a1)) :与issupperset相反,判断是否包含(子集)
- 字典
- 特性:可变(值),唯一(键),有序
- 键建议不要重复,会覆盖,值可重复
- 键值对的值可放任何数据类型
- 键:不可为可变对象,元组可以,大部分用字符串,不可变
- 增
- 对象[“key”] = value :此方法无则增,有则改
- 删
- pop(k):根据键删除此键值对
- popitem():随机删除
- 改
- 索引并赋值键,直接修改此键对应的值
- update({k1:v2,k3:v4})/update(a=1,b=2):此方法可组合添加修改
- 查
- 索引键:返回值
- get(键):返回值,若没有查到对应的值,会返回括号内键的参数
- keys():查看所有的键,以列表返回
- values():查看所有的值,以列表返回
- items():查看所有的对,以元组返回
scores = {'骆昊': 95, '白元芳': 78, '狄仁杰': 82}
for key in scores:
print(f'{key}: {scores[key]}') #高级写法
# print(key,':', scores[key])
骆昊 : 95
白元芳 : 78
狄仁杰 : 82
- zip函数将两个序列压成字典:
- 逻辑运算符
=<>,!=,and, or,etc.,
优先级加(),先算括号里
- 详细参考:http://c.biancheng.net/view/2190.html