字典与集合

字典

  • 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的子集

results matching ""

    No results matching ""