Dict 和 Set
¶Dict
Python 内置了字典 Dict(全称 Dictionary),使用键 - 值(key-value)存储,具有极快的查找速度。Dict 的查找原理和查字典类似,key 就相当于字典的索引,Python 可以通过 key 计算出所对应的 value 存放的内存地址,直接取出,所以查找速度快。
Dict 的初始化很简单,语法如下:
>>> dict = {key1' : value1, 'key2' = value2, 'key3' = value3}
>>> dict['key2']
value2
一个 key 只能对应一个 value,所以当我们对一个 key 多次赋值时会将前一个 value 覆盖掉。由于需要查找的 key 不存在时,dict 会报错,为了避免 key 不存在的情况,Python 提供了两种方法:
通过
in
判断,如果 key 存在,就返回True
,反之返回False
:
>>> `key` in dict
通过
get
判断,如果 key 不存在就返回 None(返回 None 的时候交互式命令行不显示结果),也可以是自己指定返回的内容:
>>> dict.get('key') #返回None
>>> dict.get('key',-1) #返回自己指定的值`-1`
删除 Dict 可以使用 dict.pop(key)
方法,对应的 value 也会从 dict 中删除。
Dict 内部的存放顺序和 key 的放入没有关系,Dict 的查找和插入速度不会随着 key 的增加而变慢,需要占用大量的内存,是一种用空间来换取时间的方法。
¶Set
Set 和 Dict 类似,也是一组 key 的集合,但是不存储 value。由于 key 不能重复,所以在 set 中没有重复的 key。要创建一个 set 需要提供一个 list 作为输入的集合:
>>> s = set([1,2,3,4,5])
重复的元素会被 set 自动过滤,可以通过 add(key)
方法向 set 添加元素,通过 remove(key)
方法删除元素。我们可以将 set 看作数学意义上的集合,因此,两个 set 之间可以做数学意义上的交 (&)、并 (|) 集等运算
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 SkyHive's Blog!
评论