dict和set

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了dict和set相关的知识,希望对你有一定的参考价值。

dict

dict是一个kv键值对,根据索引查找值。dict的key是根据hash算法计算

>>> d = ‘Michael‘: 95, ‘Bob‘: 75, ‘Tracy‘: 85
>>> d[‘Michael‘]
95
>>> d[‘Jack‘] = 90
>>> d[‘Jack‘]
90
>>> d[‘Jack‘] = 88 #覆盖前面的值
>>> d[‘Jack‘]
88
>>> ‘Thomas‘ in d #判断key是否存在
False
>>> d.pop(‘Bob‘)
75
>>> d
‘Michael‘: 95, ‘Tracy‘: 85

和list比较,dict有以下几个特点:

查找和插入的速度极快,不会随着key的增加而变慢;
需要占用大量的内存,内存浪费多。
而list相反:

查找和插入的时间随着元素的增加而增加;
占用空间小,浪费内存很少。

set

set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。

>>> s = set([1, 2, 3])
>>> s
1, 2, 3 #实际上是乱序,元素多的时候可以看到
>>> s = set([1, 1, 2, 2, 3, 3]) #过滤重复的元素
>>> s
1, 2, 3
>>> s.add(4) #增加元素
>>> s
1, 2, 3, 4
>>> s.add(4)
>>> s
1, 2, 3, 4
>>> s.remove(4) #删除元素
>>> s
1, 2, 3

以上是关于dict和set的主要内容,如果未能解决你的问题,请参考以下文章

python 基础干货 02

python中字典,元组,集合

在 VBA 中的字典值中查找最大值/最小值

python(setdict)

combogrid change check multiple

从 for 循环中的多个连续异步调用中调用多个“setState”挂钩