今天写一下字典的用法-dict,dict使用键-值存储,就是一个属性对应一个属性值,这就方便了我们查找,节省时间看一下dict的构造方法,我们初始化一个dict,一个有学生和成绩的dict
>>> dict={'bob':98,'lisa':82,'agle':63}
>>> dict
{'lisa': 82, 'agle': 63, 'bob': 98}
可以看到输出的顺序并不是我们输入的顺序,因为dict输出的时候是无序的,它只保证一个key对应一个value,一个名字对应一个成绩,这样我们查找的时候可以根据名字快速查找对应的分数比如:
>>> dict['bob']
98
当然我们也可以用list实现以上查找,一个name表,一个成绩表,很明显这样查找非常麻烦、
names = ['Michael', 'Bob', 'Tracy']
scores = [95, 75, 85]
初始化一个dict之后,想要加入一对值,可以直接往dict里面加入:
>>> dict['lack']
99
>>> dict
{'lack': 99, 'lisa': 82, 'agle': 63, 'bob': 98}
如果查找不存在的key,系统是会报错的:
>>> dict['aa']
Traceback (most recent call last):
File "<pyshell#19>", line 1, in <module>
dict['aa']
KeyError: 'aa'
我们可以通过判断确定key是否存在:
>>> 'lack' in dict
True
>>> 'aa' in dict
False
或者自定义key不存在时返回自定义值:
>>> dict.get('aa','notfound')
'notfound'
有增加,就有删除,删除依然用pop(key)的方法:
>>> dict.pop('lack')
99
>>> dict
{'lisa': 82, 'agle': 63, 'bob': 98}
和list比较,dict有以下几个特点:
- 查找和插入的速度极快,不会随着key的增加而变慢;
- 需要占用大量的内存,内存浪费多。
而list相反:
- 查找和插入的时间随着元素的增加而增加
- 占用空间小,浪费内存很少
还有一个和dict一样存储key的一个集合,就是set,只不过set没有value,set里面是一个list:
>>> s=set([1,2,3])
>>> s
{1, 2, 3}
插入一个key用add(key)方法,:
>>> s.add(4)
>>> s
{1, 2, 3, 4}
可以重复插入,但是不会有效果,所以set可以做交集、并集等运算:
>>> s1=set([1,2,3,4])
>>> s2=set([2,3])
>>> s1&s2
{2, 3}
>>> s1|s2
{1, 2, 3, 4}
以上就是dict和set的一些内容了,简单实用
分了两篇文章介绍list和dict,不是因为它有多难,而是因为它以后用的比较多,所以基础要扎实!!!希望大家看我文章是能共勉一起学习,有问题或者发现文章有错误的可以评论留言,我看到后会一一认真回应,大家一起进步!
ps:今天发现可以使用markdown编辑模式,再也不用担心代码不明显了!!