字典与集合
字典
dict()
将包含双值子序列的序列转换为字典 ```python example = [('a', 'b'), ('c', 'd')]or (('a', 'b'), ('c', 'd'))
dict(example){'a': 'b', 'c': 'd'}
example2 = ['ab', 'cd']
or ('ab', 'cd')
dict(examples)
{'a': 'b', 'c': 'd'}
---
- `d1.update(d2)` 将字典d2合并到字典d1中,若有重复的键,则新归入字典的值会取代原有的值
- `d.clear()` 删除字典中全部元素
- `in` 判断某个键是否存在于字典中
- `d.copy()` 浅拷贝,只复制字典中的父对象,对子对象采用引用的方法
- `d.deepcopy()` 深拷贝,新字典的改变不会影响原来的字典
---
获取字典中的元素
- `d.[key]`
- `d.get(key, defaultValue)` 获取指定key的value,并指定了默认值
- `d.keys()` 获取所有键组成的list
- `d.values()` 获取所有值组成的list
- `d.items()` 获取所有键值对,返回一个list,里面的元素是(键,值)组成的元组
当使用`d.[key]`获取字典中不存在的元素时会报错
---
字典的格式化字符串
通过`'%(key)s' % dict`,可以取出字典中对应key的value
```python
dict_example = {
'a': 1,
'b': 2
}
print('a is %(a)s but b is %(b)s' % dict_example)
# a is 1 but b is 2
集合
类似于舍弃了值,仅剩下键的字典
set()
创建空集合。不能使用{}
创建,它创建的是个空字典set(str/list/tuple)
将字符串/列表/元组转换为集合,不会包含重复元素set(dic)
把字典转为集合时,只有键会被使用
集合的合并
获取交集
&
or a.intersection(b)
获取并集
|
or a.union(b)
获取差集(出现在第一个集合而没有在第二个集合中的元素)
-
or a.difference(b)
判断包含关系
<=
or a.issubset(b)
判断a是否是b的子集
>=
or a.issuperset(b)
判断b是否是a的子集