您的位置:首页 > 编程语言 > Python开发

python第二站续--字典dict

2016-05-05 14:12 465 查看
今天写一下字典的用法-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编辑模式,再也不用担心代码不明显了!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python 存储